Files
lsproject/src/test/java/object/NetworkTest.java
Isaac Parenteau 2e3f668008
All checks were successful
Locusworks Team/lsproject/pipeline/head This commit looks good
Cleaned up the code a little
2021-10-18 21:28:34 -05:00

90 lines
2.8 KiB
Java

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<Router> routerz = new ArrayList<Router>();
while (path.hasNext()) {
Router r = path.getNext();
routerz.add(r);
System.out.println("Step " + i++ + ": " + r.getIpAddress());
}
System.out.println("Total cost: " + path.getTotalCost());
}
}