Removed InterfaceRestriction. Now introduced a friendlier API in
[utils] / trunk / system / general / src / test / java / org / wamblee / system / graph / CompositeEdgeFilterTest.java
similarity index 53%
rename from trunk/system/general/src/test/java/org/wamblee/system/container/CompositeInterfaceRestrictionTest.java
rename to trunk/system/general/src/test/java/org/wamblee/system/graph/CompositeEdgeFilterTest.java
index e724178eef4e2af253ff3317f6e7830c5387b312..6507efa93bcb093553c61198fd50f54d03507651 100644 (file)
@@ -13,9 +13,7 @@
  * 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;
 
@@ -23,45 +21,51 @@ import junit.framework.TestCase;
 
 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.
@@ -69,8 +73,8 @@ public class CompositeInterfaceRestrictionTest extends TestCase {
         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();
     }
 
@@ -79,10 +83,10 @@ public class CompositeInterfaceRestrictionTest extends TestCase {
     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. 
@@ -90,8 +94,8 @@ public class CompositeInterfaceRestrictionTest extends TestCase {
         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();
         
@@ -99,8 +103,8 @@ public class CompositeInterfaceRestrictionTest extends TestCase {
         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();
         
@@ -108,9 +112,10 @@ public class CompositeInterfaceRestrictionTest extends TestCase {
         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();
     }
+    
 }