package object; import java.awt.Point; import java.util.ArrayList; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import net.locusworks.lsproject.object.Connection; import net.locusworks.lsproject.object.DijkstraEngine; import net.locusworks.lsproject.object.Network; import net.locusworks.lsproject.object.Path; import net.locusworks.lsproject.object.Router; public class NetworkTest { @BeforeClass public static void setUpBeforeClass() { Network.createInstance("Johnny"); } @Before public void setUpBeforeTest(){ Router router1 = new Router("192.168.1.0", new Point(0,1)); Router router2 = new Router("192.168.1.1", new Point(0,2)); Router router3 = new Router("192.168.1.2", new Point(0,3)); Router router4 = new Router("192.168.1.3", new Point(0,4)); Router router5 = new Router("192.168.1.4", new Point(0,5)); Connection connection1 = new Connection(router1.getIpAddress(), router2.getIpAddress(), 1); Connection connection2 = new Connection(router1.getIpAddress(), router3.getIpAddress(), 3); Connection connection3 = new Connection(router1.getIpAddress(), router4.getIpAddress(), 6); Connection connection4 = new Connection(router2.getIpAddress(), router3.getIpAddress(), 5); Connection connection5 = new Connection(router2.getIpAddress(), router4.getIpAddress(), 2); Connection connection6 = new Connection(router3.getIpAddress(), router5.getIpAddress(), 2); Connection connection7 = new Connection(router4.getIpAddress(), router5.getIpAddress(), 1); Router.addConnection(router1, router2, connection1); Router.addConnection(router1, router3, connection2); Router.addConnection(router1, router4, connection3); Router.addConnection(router2, router3, connection4); Router.addConnection(router2, router4, connection5); Router.addConnection(router3, router5, connection6); Router.addConnection(router4, router5, connection7); Network.getInstance().addRouter(router1); Network.getInstance().addRouter(router2); Network.getInstance().addRouter(router3); Network.getInstance().addRouter(router4); Network.getInstance().addRouter(router5); } @Test public void testFindShortestPath(){ DijkstraEngine engine = new DijkstraEngine(); System.out.println(Network.getInstance().getRouters().size()); Path path = engine.findShortestPath(Network.getInstance().getRouterByIp("192.168.1.0"), Network.getInstance().getRouterByIp("192.168.1.4")); int i = 1; ArrayList routerz = new ArrayList(); while (path.hasNext()) { Router r = path.getNext(); routerz.add(r); System.out.println("Step " + i++ + ": " + r.getIpAddress()); } System.out.println("Total cost: " + path.getTotalCost()); } }