All checks were successful
Locusworks Team/lsproject/pipeline/head This commit looks good
90 lines
2.8 KiB
Java
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());
|
|
|
|
}
|
|
|
|
}
|