(no commit message)
[utils] / system / general / src / test / java / org / wamblee / system / graph / GraphTest.java
index 675a06bd6c1c7247c713a9b1af79fc85b40afb27..23c18da9c659cae3a9b3eeaa314bb514fd0ffe6a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2008 the original author or authors.
+ * Copyright 2005-2010 the original author or authors.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  */
 package org.wamblee.system.graph;
 
-import java.util.Arrays;
-import java.util.List;
-
+import junit.framework.TestCase;
 import static org.mockito.Mockito.*;
-import org.wamblee.test.AssertionUtils;
 
+import org.wamblee.test.AssertionUtils;
 
-import junit.framework.TestCase;
+import java.util.Arrays;
+import java.util.List;
 
+/**
+ * 
+ * @author $author$
+ * @version $Revision$
+ */
 public class GraphTest extends TestCase {
-
     public void testNodeMgt() {
         final Graph graph = new Graph();
         assertTrue(graph.getNodes().isEmpty());
@@ -40,130 +43,137 @@ public class GraphTest extends TestCase {
         assertTrue(graph.removeNode(x));
         assertTrue(graph.getNodes().isEmpty());
 
-        // Empty node set. 
+        // Empty node set.
         assertFalse(graph.removeNode(x));
-        
-        Node y = new DefaultNode("y"); 
-        graph.addNodes(Arrays.asList(new Node[] { x, y));
+
+        Node y = new DefaultNode("y");
+        graph.addNodes(Arrays.asList(new Node[] { x, y }));
         assertEquals(2, graph.getNodes().size());
-        
+
         // duplicate node
-        AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { 
+        AssertionUtils.assertException(new AssertionUtils.ErroneousCode() {
             @Override
             public void run() throws Exception {
-                graph.addNode(new DefaultNode("x"));   
+                graph.addNode(new DefaultNode("x"));
             }
         }, IllegalArgumentException.class);
     }
 
-    public void testEdgeMgt() { 
+    public void testEdgeMgt() {
         final Graph graph = new Graph();
-        final Node x = new DefaultNode("x"); 
-        final Node y = new DefaultNode("y"); 
+        final Node x = new DefaultNode("x");
+        final Node y = new DefaultNode("y");
         graph.addNode(x);
         graph.addNode(y);
-        final Edge e = new DefaultEdge(x, y); 
+
+        final Edge e = new DefaultEdge(x, y);
         graph.addEdge(e);
         assertEquals(Arrays.asList(new Edge[] { e }), graph.getEdges());
-        
+
         // duplicate edge.
-        AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { 
+        AssertionUtils.assertException(new AssertionUtils.ErroneousCode() {
             @Override
             public void run() throws Exception {
-                graph.addEdge(e);   
+                graph.addEdge(e);
             }
         }, IllegalArgumentException.class);
-        
+
         // Remove node when edge is still present
-        AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { 
+        AssertionUtils.assertException(new AssertionUtils.ErroneousCode() {
             @Override
             public void run() throws Exception {
                 graph.removeNode(x);
             }
         }, IllegalArgumentException.class);
-        
-        
+
         Node a = new DefaultNode("a");
         graph.addNode(a);
-        graph.addEdges(Arrays.asList(new Edge[] { new DefaultEdge(x, a), new DefaultEdge(y, a) }));
+        graph.addEdges(Arrays.asList(new Edge[] { new DefaultEdge(x, a),
+            new DefaultEdge(y, a) }));
         assertEquals(3, graph.getEdges().size());
     }
-    
-    public void testExtend() { 
-        Graph graph = new Graph(); 
-        graph.addNode(new MyNode("x", new String[] { "a", "b"}));
-        graph.addNode(new MyNode("y", new String[] { "b", "c"}));
-        graph.addNode(new MyNode("z", new String[] { "a", "c"}));
+
+    public void testExtend() {
+        Graph graph = new Graph();
+        graph.addNode(new MyNode("x", new String[] { "a", "b" }));
+        graph.addNode(new MyNode("y", new String[] { "b", "c" }));
+        graph.addNode(new MyNode("z", new String[] { "a", "c" }));
         graph.extend(new MyEdgeFactory());
-        
-        List<Edge> edges = graph.getEdges(); 
+
+        List<Edge> edges = graph.getEdges();
         assertEquals(12, edges.size()); // 2 outgoing and 2 incoming nodes.
     }
-    
-    public void testApplyFilter() { 
-        Graph graph = new Graph(); 
+
+    public void testApplyFilter() {
+        Graph graph = new Graph();
         graph.addNode(new DefaultNode("x"));
         graph.addNode(new DefaultNode("y"));
         graph.addNode(new DefaultNode("z"));
-        graph.addEdge(new DefaultEdge(graph.findNode("x"), graph.findNode("y")));
-        graph.addEdge(new DefaultEdge(graph.findNode("y"), graph.findNode("z")));
-        graph.addEdge(new DefaultEdge(graph.findNode("z"), graph.findNode("x")));
-        
+        graph
+            .addEdge(new DefaultEdge(graph.findNode("x"), graph.findNode("y")));
+        graph
+            .addEdge(new DefaultEdge(graph.findNode("y"), graph.findNode("z")));
+        graph
+            .addEdge(new DefaultEdge(graph.findNode("z"), graph.findNode("x")));
+
         assertEquals(3, graph.getEdges().size());
-        
-        graph.applyFilter(new EdgeFilter() { 
+
+        graph.applyFilter(new EdgeFilter() {
             @Override
             public boolean isViolated(Edge aEdge) {
-                if (aEdge.getFrom().getName().equals("x")) { 
-                    return false; 
+                if (aEdge.getFrom().getName().equals("x")) {
+                    return false;
                 }
-                return true; 
+
+                return true;
             }
-        }); 
-        
+        });
+
         assertEquals(1, graph.getEdges().size());
         assertEquals("x", graph.getEdges().get(0).getFrom().getName());
-           
     }
-    
-    public void testFindIncomingOutgoing() { 
+
+    public void testFindIncomingOutgoing() {
         Graph graph = new Graph();
         Node x = new DefaultNode("x");
-        Node y = new DefaultNode("y"); 
+        Node y = new DefaultNode("y");
         graph.addNode(x);
         graph.addNode(y);
-        Edge e = new DefaultEdge(x,y);
+
+        Edge e = new DefaultEdge(x, y);
         graph.addEdge(e);
-        
+
         List<Edge> incoming = graph.findIncoming(x);
-        assertTrue(incoming.isEmpty()); 
+        assertTrue(incoming.isEmpty());
+
         List<Edge> outgoing = graph.findOutgoing(x);
         assertEquals(1, outgoing.size());
         assertSame(e, outgoing.get(0));
-        
+
         incoming = graph.findIncoming(y);
         assertEquals(1, incoming.size());
         assertSame(e, incoming.get(0));
-           
+
         outgoing = graph.findOutgoing(y);
-        assertTrue(outgoing.isEmpty()); 
+        assertTrue(outgoing.isEmpty());
     }
-    
+
     public void testAccept() {
-        Graph graph = new Graph(); 
-        Node x = new DefaultNode("x"); 
-        Node y = new DefaultNode("y"); 
+        Graph graph = new Graph();
+        Node x = new DefaultNode("x");
+        Node y = new DefaultNode("y");
         Edge e = new DefaultEdge(x, y);
         graph.addNode(x);
         graph.addNode(y);
         graph.addEdge(e);
-        Visitor visitor = mock(Visitor.class); 
-        
+
+        Visitor visitor = mock(Visitor.class);
+
         graph.accept(visitor);
         verify(visitor).visitNode(x);
         verify(visitor).visitNode(y);
         verify(visitor).visitEdge(e);
-        
+
         verifyNoMoreInteractions(visitor);
     }
 }