public void testAddRemoveConnections() { CConnectionList list = CConnectionList.getInstance(); list.initList(3); list.addConnection(TEST_CONNECTION_AB_EXPLICIT); list.addConnection(TEST_CONNECTION_BC_EXPLICIT); list.addConnection(TEST_CONNECTION_AC_EXPLICIT); Assert.IsTrue(list.length() == 3); Assert.AreSame(list.getConnection(0), TEST_CONNECTION_AB_EXPLICIT); Assert.AreSame(list.getConnection(1), TEST_CONNECTION_BC_EXPLICIT); Assert.AreSame(list.getConnection(2), TEST_CONNECTION_AC_EXPLICIT); /* * list.removeConnection(TEST_CONNECTION_BC_EXPLICIT); * Assert.IsTrue(list.length() == 2); * Assert.AreSame(list.getConnection(0), TEST_CONNECTION_AB_EXPLICIT); * Assert.AreSame(list.getConnection(1), TEST_CONNECTION_AC_EXPLICIT); * * // Löschen einer Verbindung die nicht verhanden ist * list.removeConnection(TEST_CONNECTION_NOT_IN_LIST); * Assert.IsTrue(list.length() == 2); */ list.removeAll(); Assert.IsTrue(list.length() == 0); }
public void testGenerateConnections() { CTSPPointList pointList = CTSPPointList.getInstance(); CConnectionList connList = CConnectionList.getInstance(); // Testpunkte einfügen pointList.addPoint(TEST_POINT_A); pointList.addPoint(TEST_POINT_B); pointList.addPoint(TEST_POINT_C); // Wir verwenden hier der Einfachheit halber den Euklidischen 2D Algorithmus. // Die Berechnung selbst ist hier auch nicht relevant und wird in der CTestConnection // getestet. Hier wird nur überprüft ob überhaupt Verbindungen erzeugt und Werte ermittelt werden connList.generateFromPointList(CTSPLibFileParser.E_EDGE_WEIGHT_TYPE.E_EUC_2D); Assert.IsTrue(connList.length() == 3); foreach (CConnection connection in connList) { // es muss eine Distanz größer als 0 herauskommen // Wie groß die ist, ist in diesem Test nicht relevant Assert.IsTrue(connection.getDistance() > 0); } }