Ejemplo n.º 1
0
        public void WhenMainRouteWptDoesNotExistShouldRecordFailure()
        {
            // Arrange
            var p1 = new Waypoint("P1", 0.0, 0.0);
            var p2 = new Waypoint("P2", 0.0, 2.0);

            var wptList = new WaypointList();

            var route = new Route();

            route.AddLastWaypoint(p1);
            route.AddLastWaypoint(p2, "DCT");
            var nodes = new TrackNodes("A", "NATA", route, new List <WptPair>());

            var recorder = new StatusRecorder();

            var adder = new TrackAdder(
                wptList,
                wptList.GetEditor(),
                recorder,
                TrackType.Nats);

            // Act
            adder.AddToWaypointList(new[] { nodes });

            // Assert
            Assert.AreEqual(1, recorder.Records.Count);
        }
Ejemplo n.º 2
0
        public void AddsMainRouteCorrectly()
        {
            // Arrange
            var p1 = new Waypoint("P1", 0.0, 0.0);
            var p2 = new Waypoint("P2", 0.0, 2.0);
            var p3 = new Waypoint("P3", 0.0, 4.0);

            var wptList = new WaypointList();

            wptList.AddWaypoint(p1);
            wptList.AddWaypoint(p2);
            wptList.AddWaypoint(p3);

            var route = new Route();

            route.AddLastWaypoint(p1);
            route.AddLastWaypoint(p2, "DCT");
            route.AddLastWaypoint(p3, "DCT");
            var nodes = new TrackNodes("A", "NATA", route, new WptPair[0]);

            var adder = new TrackAdder(
                wptList,
                wptList.GetEditor(),
                new StatusRecorder(),
                TrackType.Nats);

            // Act
            adder.AddToWaypointList(new[] { nodes });

            // Assert
            int indexP1 = wptList.FindByWaypoint(p1);

            Assert.AreEqual(1, wptList.EdgesFromCount(indexP1));

            var edge     = wptList.EdgesFrom(indexP1).First();
            var neighbor = wptList.GetEdge(edge).Value;

            Assert.IsTrue(neighbor.Airway == "NATA");

            Assert.IsTrue(neighbor.InnerWaypoints.SequenceEqual(CreateList(p2)));
            Assert.AreEqual(InnerWaypointsType.Track, neighbor.Type);

            var distance = p1.Distance(p2) + p2.Distance(p3);

            Assert.AreEqual(distance, neighbor.Distance);
        }