public void testInitialize()
 {
     // Für jeden Test soll die Liste initial leer sein
     CConnectionList.getInstance().removeAll();
     CConnectionList.getInstance().initList(3);
     CTSPPointList.getInstance().removeAll();
 }
示例#2
0
        public void TestMethod1()
        {
            CTSPPointList.getInstance().removeAll();

            CTSPPointList.getInstance().addPoint(TEST_POINT_1);
            CTSPPointList.getInstance().addPoint(TEST_POINT_2);
            CTSPPointList.getInstance().addPoint(TEST_POINT_3);
        }
示例#3
0
        public void testInitialize()
        {
            CTSPPointList.getInstance().removeAll();
            CConnectionList.getInstance().removeAll();

            CTSPPointList.getInstance().addPoint(TEST_POINT_1);
            CTSPPointList.getInstance().addPoint(TEST_POINT_2);
            CTSPPointList.getInstance().addPoint(TEST_POINT_3);

            CConnectionList.getInstance().generateFromPointList(CTSPLibFileParser.E_EDGE_WEIGHT_TYPE.E_EUC_2D);
        }
示例#4
0
        public void construtorTest()
        {
            CAnt testAnt = new CAnt(TEST_POINT_1);

            Assert.AreSame(testAnt.CurrentPoint, TEST_POINT_1);

            foreach (CTSPPoint point in testAnt.PointsToVisit)
            {
                Assert.AreSame(CTSPPointList.getInstance().getPoint(point.getLabel()), point);
            }
        }
示例#5
0
        public void lengthTest()
        {
            CTSPPointList pointlist = CTSPPointList.getInstance();

            for (int i = 0; i < 1000; i++)
            {
                pointlist.addPoint(new CTSPPoint());
                Assert.IsTrue(pointlist.length() == i + 1);
            }

            // Testdaten löschen
            pointlist.removeAll();
        }
示例#6
0
        public void copyTest()
        {
            CTSPPointList pointlist = CTSPPointList.getInstance();

            pointlist.addPoint(TEST_POINT_1);
            pointlist.addPoint(TEST_POINT_2);
            pointlist.addPoint(TEST_POINT_3);
            Assert.IsTrue(pointlist.length() == 3, "Fehler beim einfügen der Testdaten");

            CTSPPointList copy = pointlist.copy();

            Assert.AreNotSame(pointlist, copy);
            Assert.IsTrue(pointlist.length() == copy.length());
        }
示例#7
0
        public CTestIteration()
        {
            CTSPPointList.getInstance().removeAll();
            CConnectionList.getInstance().removeAll();

            CTSPPointList.getInstance().addPoint(TEST_POINT_1);
            CTSPPointList.getInstance().addPoint(TEST_POINT_2);
            CTSPPointList.getInstance().addPoint(TEST_POINT_3);

            CConnectionList.getInstance().generateFromPointList(CTSPLibFileParser.E_EDGE_WEIGHT_TYPE.E_EUC_2D);

            TEST_TOUR = new CTour();
            TEST_TOUR.addPoint(TEST_POINT_1);
            TEST_TOUR.addPoint(TEST_POINT_2);
            TEST_TOUR.addPoint(TEST_POINT_3);
        }
示例#8
0
        public void deleteAllTest()
        {
            CTSPPointList pointlist = CTSPPointList.getInstance();

            pointlist.addPoint(TEST_POINT_1);
            pointlist.addPoint(TEST_POINT_2);
            pointlist.addPoint(TEST_POINT_3);
            Assert.IsTrue(pointlist.length() == 3, "Fehler beim einfügen der Testdaten");

            pointlist.removeAll();

            Assert.IsTrue(pointlist.length() == 0);

            // Testdaten löschen
            pointlist.removeAll();
        }
        protected void testTSPFileParser(string fileAdress, int pointToCheck, float expectedX, float expectedY)
        {
            Stream            file       = new FileStream(fileAdress, FileMode.Open);
            CTSPLibFileParser fileParser = new CTSPLibFileParser(file);

            fileParser.fillTSPPointList();
            file.Close();
            CTSPPoint readPoint = CTSPPointList.getInstance().getPoint(pointToCheck);

            if (readPoint == null)
            {
                Assert.Fail("Zu prüfender Punkt konnte nicht geholt werden.");
            }

            Assert.IsTrue(expectedX == readPoint.x, "X-Wert wurde falsch eingelesen");
            Assert.IsTrue(expectedY == readPoint.y, "Y-Wert wurde falsch eingelesen");
        }
示例#10
0
        public void testDeleteSingleEntry()
        {
            CTSPPointList pointlist = CTSPPointList.getInstance();

            pointlist.addPoint(TEST_POINT_1);
            pointlist.addPoint(TEST_POINT_2);
            pointlist.addPoint(TEST_POINT_3);
            Assert.IsTrue(pointlist.length() == 3, "Fehler beim einfügen der Testdaten");

            // ersten eintrag löschen, also ein Eintrag weniger
            pointlist.remove(0);
            Assert.IsTrue(pointlist.length() == 2);

            Assert.AreSame(pointlist.getPoint(0), TEST_POINT_2);
            Assert.AreSame(pointlist.getPoint(1), TEST_POINT_3);

            // Testdaten löschen
            pointlist.removeAll();
        }
示例#11
0
        public void testDeletePointNotExistent()
        {
            CTSPPointList pointlist = CTSPPointList.getInstance();

            pointlist.addPoint(TEST_POINT_1);
            pointlist.addPoint(TEST_POINT_2);
            pointlist.addPoint(TEST_POINT_3);
            Assert.IsTrue(pointlist.length() == 3, "Fehler beim einfügen der Testdaten");

            // dieser Index sollte nicht vorhanden sein, es darf also nichts gelöscht werden
            pointlist.remove(100);
            Assert.IsTrue(pointlist.length() == 3);

            // löschen eines Punktes der nicht in der Liste ist
            pointlist.remove(new CTSPPoint());
            Assert.IsTrue(pointlist.length() == 3);

            // Testdaten löschen
            pointlist.removeAll();
        }
示例#12
0
        public void testDeleteSpecificPoint()
        {
            CTSPPointList pointlist = CTSPPointList.getInstance();

            pointlist.addPoint(TEST_POINT_1);
            pointlist.addPoint(TEST_POINT_2);
            pointlist.addPoint(TEST_POINT_3);
            Assert.IsTrue(pointlist.length() == 3, "Fehler beim einfügen der Testdaten");

            // den Punkt2 aus der Liste löschen
            pointlist.remove(TEST_POINT_2);
            Assert.IsTrue(pointlist.length() == 2);

            // Der Punkt 2 darf nicht mehr vorhanden sein
            foreach (CTSPPoint point in pointlist)
            {
                Assert.AreNotSame(point, TEST_POINT_2);
            }

            // Testdaten löschen
            pointlist.removeAll();
        }
示例#13
0
        public void insertTest()
        {
            CTSPPointList pointlist = CTSPPointList.getInstance();

            pointlist.removeAll();

            pointlist.addPoint(TEST_POINT_1);
            Assert.IsTrue(pointlist.length() == 1);

            pointlist.addPoint(TEST_POINT_2);
            Assert.IsTrue(pointlist.length() == 2);

            pointlist.addPoint(TEST_POINT_3);
            Assert.IsTrue(pointlist.length() == 3);

            Assert.AreSame(pointlist.getPoint(0), TEST_POINT_1, "zuerste in die Liste eingefügter Punkt entsprecht nicht dem eingefügten Objekt");
            Assert.AreSame(pointlist.getPoint(1), TEST_POINT_2, "zuerste in die Liste eingefügter Punkt entsprecht nicht dem eingefügten Objekt");
            Assert.AreSame(pointlist.getPoint(2), TEST_POINT_3, "zuerste in die Liste eingefügter Punkt entsprecht nicht dem eingefügten Objekt");

            // Testdaten löschen
            pointlist.removeAll();
        }
        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);
            }
        }
示例#15
0
 public void cleanTest()
 {
     CTSPPointList.getInstance().removeAll();
 }
示例#16
0
        public void singletonTest()
        {
            CTSPPointList singletonObject = CTSPPointList.getInstance();

            Assert.AreSame(singletonObject, CTSPPointList.getInstance(), "getInstance gibt nicht das gleiche Objekt zurück");
        }