/**************************************************** * CS2510 Fall 2011 * Lecture #28 * JavaDocs, JUnit ****************************************************/ import java.util.*; import junit.framework.*; /** * JUnit tests for our Graphs and Traversal classes * @author mattea * */ public class Lecture_28Tests extends TestCase{ Graph g = new Graph(); Vertex va = new Vertex("a"); Vertex vb = new Vertex("b"); Vertex vc = new Vertex("c"); Vertex vd = new Vertex("d"); Vertex ve = new Vertex("e"); Vertex vf = new Vertex("f"); Vertex vg = new Vertex("g"); Vertex vnone = new Vertex("none"); public void setUp(){ g.addEdge(va, vb); g.addEdge(va, vc); g.addEdge(vb, vd); g.addEdge(vc, vd); g.addEdge(vc, ve); g.addEdge(ve, vf); g.addEdge(vg, vf); } public void tearDown() { g.g.clear(); } /** * Test our Graph */ public void testGraph() { assertEquals(g.g.containsKey(va),true); assertEquals(g.g.containsKey(vg),true); assertEquals(g.g.containsKey(vnone),false); } /** * Test Graph.getEdges(Vertex v) */ public void testGetEdges() { assertEquals(g.getEdges(vg).get(0),new Edge(new Vertex("g"),new Vertex("f"))); ArrayList aedges = new ArrayList(); aedges.add(new Edge(va,vb)); aedges.add(new Edge(va,vc)); Iterator actual = g.getEdges(va).iterator(); for (Edge e : aedges) { assertEquals(e,actual.next()); } try { g.getEdges(vnone); assertTrue("No Edge Exception",false); } catch (NoEdgeException e) { assertTrue("No Edge Exception",true); } } /** * Test our BFS/DFS Traversals */ public void testSearch() { BFS bfs = new BFS(g); DFS dfs = new DFS(g); assertEquals(bfs.fromTo(va, vf), true); assertEquals(dfs.fromTo(va, vf), true); assertEquals(bfs.fromTo(vb, vf), false); assertEquals(dfs.fromTo(vb, vf), false); assertEquals(bfs.fromTo(vf, vg), false); assertEquals(dfs.fromTo(vf, vg), false); } }