* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.wamblee.system.container;
-
-import static org.easymock.EasyMock.anyObject;
+package org.wamblee.system.graph;
import java.util.Arrays;
import org.easymock.classextension.EasyMock;
import org.easymock.classextension.IMocksControl;
+import static org.easymock.classextension.EasyMock.*;
+import org.wamblee.system.container.Application;
import org.wamblee.system.core.Component;
import org.wamblee.system.core.Environment;
import org.wamblee.system.core.ProvidedInterface;
import org.wamblee.system.core.RequiredInterface;
+import org.wamblee.system.graph.component.ProvidedInterfaceNode;
+import org.wamblee.system.graph.component.RequiredInterfaceNode;
-public class CompositeInterfaceRestrictionTest extends TestCase {
-
+public class CompositeEdgeFilterTest extends TestCase {
private Application _app = new Application();
- private Environment _env = new Environment();
+ private Environment _env = new Environment();
+
+ private Edge createEdge(Component aClient, RequiredInterface aRequired,
+ Component aServer, ProvidedInterface aProvided) {
+ Node from = new RequiredInterfaceNode(aClient, aRequired);
+ Node to = new ProvidedInterfaceNode(aServer, aProvided);
+ return new DefaultEdge(from, to);
+ }
public void testEmpty() {
- InterfaceRestriction restriction = new CompositeInterfaceRestriction();
- assertFalse(restriction.isViolated(_app, _app.getRequiredInterfaces()[0],
- _env, _env.getProvidedInterfaces()[0]));
+ EdgeFilter restriction = new CompositeEdgeFilter();
+ assertFalse(restriction.isViolated(createEdge(_app, _app.getRequiredInterfaces()[0],
+ _env, _env.getProvidedInterfaces()[0])));
}
- private void configureRestriction(InterfaceRestriction base, boolean aResult) {
- base.isViolated(
- (Component)anyObject(),
- (RequiredInterface)anyObject(),
- (Component)anyObject(),
- (ProvidedInterface)anyObject());
+ private void configureRestriction(EdgeFilter base, boolean aResult) {
+ base.isViolated( (Edge)EasyMock.anyObject());
EasyMock.expectLastCall().andReturn(aResult);
}
public void testOneRestriction() {
IMocksControl control = EasyMock.createStrictControl();
- InterfaceRestriction base = control.createMock(InterfaceRestriction.class);
- InterfaceRestriction composite = new CompositeInterfaceRestriction(
- Arrays.asList(new InterfaceRestriction[] { base } ));
+ EdgeFilter base = control.createMock(EdgeFilter.class);
+ CompositeEdgeFilter composite = new CompositeEdgeFilter();
+ composite.add(base);
// First let the base return false and verify the result.
configureRestriction(base, false);
control.replay();
- assertFalse(composite.isViolated(_app, _app.getRequiredInterfaces()[0],
- _env, _env.getProvidedInterfaces()[0]));
+ assertFalse(composite.isViolated(createEdge(_app, _app.getRequiredInterfaces()[0],
+ _env, _env.getProvidedInterfaces()[0])));
control.verify();
// Second let the base return true and verify the result.
configureRestriction(base, true);
control.replay();
- assertTrue(composite.isViolated(_app, _app.getRequiredInterfaces()[0],
- _env, _env.getProvidedInterfaces()[0]));
+ assertTrue(composite.isViolated(createEdge(_app, _app.getRequiredInterfaces()[0],
+ _env, _env.getProvidedInterfaces()[0])));
control.verify();
}
public void testTwoRestrictions() {
IMocksControl control = EasyMock.createStrictControl();
- InterfaceRestriction base1 = control.createMock(InterfaceRestriction.class);
- CompositeInterfaceRestriction composite = new CompositeInterfaceRestriction(
- Arrays.asList(new InterfaceRestriction[] { base1 } ));
- InterfaceRestriction base2 = control.createMock(InterfaceRestriction.class);
+ EdgeFilter base1 = control.createMock(EdgeFilter.class);
+ CompositeEdgeFilter composite = new CompositeEdgeFilter();
+ composite.add(base1);
+ EdgeFilter base2 = control.createMock(EdgeFilter.class);
composite.add(base2);
// 1. base1 not violated and base 2 not violated -> not violated.
configureRestriction(base1, false);
configureRestriction(base2, false);
control.replay();
- assertFalse(composite.isViolated(_app, _app.getRequiredInterfaces()[0],
- _env, _env.getProvidedInterfaces()[0]));
+ assertFalse(composite.isViolated(createEdge(_app, _app.getRequiredInterfaces()[0],
+ _env, _env.getProvidedInterfaces()[0])));
control.verify();
control.reset();
configureRestriction(base1, false);
configureRestriction(base2, true);
control.replay();
- assertTrue(composite.isViolated(_app, _app.getRequiredInterfaces()[0],
- _env, _env.getProvidedInterfaces()[0]));
+ assertTrue(composite.isViolated(createEdge(_app, _app.getRequiredInterfaces()[0],
+ _env, _env.getProvidedInterfaces()[0])));
control.verify();
control.reset();
configureRestriction(base1, true);
// base 2 should not be called.
control.replay();
- assertTrue(composite.isViolated(_app, _app.getRequiredInterfaces()[0],
- _env, _env.getProvidedInterfaces()[0]));
+ assertTrue(composite.isViolated(createEdge(_app, _app.getRequiredInterfaces()[0],
+ _env, _env.getProvidedInterfaces()[0])));
control.verify();
control.reset();
}
+
}