+++ /dev/null
-/*--------------------------------------------------------------------------\r
- * Copyright 2004 Taro L. Saito\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *--------------------------------------------------------------------------*/\r
-//--------------------------------------\r
-// XerialJ\r
-//\r
-// AdjacencyListTest.java\r
-// Since: 2004/12/27\r
-//\r
-// $URL: http://www.xerial.org/svn/project/XerialJ/trunk/xerial-core/src/test/java/org/xerial/util/graph/AdjacencyListTest.java $ \r
-// $Author: leo $\r
-//--------------------------------------\r
-package org.xerial.util.graph;\r
-\r
-import static org.junit.Assert.assertEquals;\r
-import static org.junit.Assert.assertFalse;\r
-import static org.junit.Assert.assertNull;\r
-import static org.junit.Assert.assertTrue;\r
-\r
-import java.util.Collection;\r
-\r
-import org.junit.After;\r
-import org.junit.Before;\r
-import org.junit.Test;\r
-import org.xerial.util.log.Logger;\r
-\r
-/**\r
- * @author leo\r
- * \r
- */\r
-public class AdjacencyListTest\r
-{\r
- private static Logger _logger = Logger.getLogger(AdjacencyListTest.class);\r
-\r
- Graph<Integer, String> al;\r
-\r
- @Before\r
- public void setUp() throws Exception\r
- {\r
- al = new AdjacencyList<Integer, String>();\r
- /*\r
- * 0->1 -->2\r
- * | |^\r
- * V V|\r
- * 3<-4\r
- */\r
- al.addEdge(0, 1);\r
- al.addEdge(1, 2);\r
- al.addEdge(0, 3);\r
- al.addEdge(4, 3);\r
- al.addEdge(1, 4);\r
- al.addEdge(4, 1);\r
- }\r
-\r
- @After\r
- public void tearDown() throws Exception\r
- {\r
-\r
- }\r
-\r
- @Test\r
- public void testAddVertex()\r
- {\r
- assertEquals(5, al.getNumNodes());\r
- al.addNode(6);\r
- assertEquals(6, al.getNumNodes());\r
- }\r
-\r
- private Edge edge(int src, int dest)\r
- {\r
- return new Edge(al.getNodeID(src), al.getNodeID(dest));\r
- }\r
-\r
- @SuppressWarnings("unchecked")\r
- @Test\r
- public void testAddEdge()\r
- {\r
- Collection<Edge> edgeList = al.getOutEdgeSet(0);\r
- assertEquals(2, edgeList.size());\r
- assertTrue(edgeList.contains(edge(0, 1)));\r
- assertTrue(edgeList.contains(edge(0, 3)));\r
-\r
- Collection<Edge> edgeList1 = al.getOutEdgeSet(1);\r
- assertEquals(2, edgeList1.size());\r
- assertTrue(edgeList1.contains(edge(1, 2)));\r
- assertTrue(edgeList1.contains(edge(1, 4)));\r
- }\r
-\r
- @Test\r
- public void testHasEdge()\r
- {\r
- assertTrue(al.hasEdge(edge(0, 1)));\r
- assertTrue(al.hasEdge(edge(1, 2)));\r
- assertTrue(al.hasEdge(edge(0, 3)));\r
- assertTrue(al.hasEdge(edge(4, 3)));\r
- assertTrue(al.hasEdge(edge(1, 4)));\r
- assertTrue(al.hasEdge(edge(4, 1)));\r
-\r
- assertFalse(al.hasEdge(edge(1, 1)));\r
- assertFalse(al.hasEdge(edge(2, 1)));\r
-\r
- }\r
-\r
- @Test\r
- public void testHasNode()\r
- {\r
- for (int i = 0; i < 5; i++)\r
- assertTrue(al.hasNode(i));\r
- for (int i = 5; i < 10; i++)\r
- assertFalse(al.hasNode(i));\r
- }\r
-\r
- @Test\r
- public void testVertexSet()\r
- {\r
- Collection<Integer> nodeList = al.getNodeLabelSet();\r
-\r
- assertTrue(nodeList.contains(0));\r
- assertTrue(nodeList.contains(1));\r
- assertTrue(nodeList.contains(2));\r
- assertTrue(nodeList.contains(3));\r
- assertTrue(nodeList.contains(4));\r
- assertFalse(nodeList.contains(5));\r
-\r
- }\r
-\r
- @Test\r
- public void testDestNodeSet()\r
- {\r
- Collection<Integer> s = al.getDestNodeIDSetOf(al.getNodeID(0));\r
- assertEquals(2, s.size());\r
- assertTrue(s.contains(al.getNodeID(1)));\r
- assertTrue(s.contains(al.getNodeID(3)));\r
- }\r
-\r
- @Test\r
- public void testSourceNodeSet()\r
- {\r
- Collection<Integer> s = al.getSourceNodeIDSetOf(al.getNodeID(1));\r
-\r
- assertEquals(2, s.size());\r
- assertTrue(s.contains(al.getNodeID(0)));\r
- assertTrue(s.contains(al.getNodeID(4)));\r
-\r
- }\r
-\r
- @Test\r
- public void testOutEdgeList()\r
- {\r
- Collection<Edge> l = al.getOutEdgeSet(4);\r
- assertEquals(2, l.size());\r
-\r
- assertTrue(l.contains(edge(4, 3)));\r
- assertTrue(l.contains(edge(4, 1)));\r
- }\r
-\r
- @Test\r
- public void testInEdgeList()\r
- {\r
- Collection<Edge> l = al.getInEdgeSet(3);\r
- assertEquals(2, l.size());\r
- assertTrue(l.contains(edge(0, 3)));\r
- assertTrue(l.contains(edge(4, 3)));\r
- }\r
-\r
- @Test\r
- public void testClear()\r
- {\r
- al.clear();\r
- assertEquals(0, al.getNumNodes());\r
- }\r
-\r
- @Test\r
- public void testSetEdge()\r
- {\r
- Edge e = edge(0, 3);\r
- assertNull(al.getEdgeLabel(e));\r
-\r
- al.setEdgeLabel(e, "hello");\r
- assertEquals("hello", al.getEdgeLabel(e));\r
- }\r
-\r
- @Test\r
- public void testToString()\r
- {\r
- _logger.debug(al.toString());\r
- }\r
-\r
- @Test\r
- public void testToGraphviz()\r
- {\r
- _logger.debug(al.toGraphViz());\r
- }\r
-\r
-}\r