Exemple #1
0
        public void HandleTrack_TrackIsInsideAirspace_EventIsRaised()
        {
            _airspace.HighestAltitude      = 3000;
            _airspace.LowestAltitude       = 0;
            _airspace.NorthEastXCoordinate = 40000;
            _airspace.NorthEastYCoordinate = 40000;
            _airspace.SouthWestXCoordinate = 0;
            _airspace.SouthWestYCoordinate = 0;

            List <Track> tracks = new List <Track>();
            Track        track  = new Track()
            {
                Altitude = 100, XCoordinate = 200, YCoordinate = 300, Tag = "CP8"
            };

            tracks.Add(track);
            TracksDataEventArgs arg = new TracksDataEventArgs(tracks);

            Track trackFromEvent = new Track();

            _airspaceController.TrackInAirspace += (sender, args) => trackFromEvent = args.Track;

            _airspaceController.HandleTracks(this, arg);

            Assert.That(trackFromEvent, Is.EqualTo(track));
        }
        public void HandleTracks_TrackIsInsideAirspace_TracksGetReported(int secondsBetweenTimestamps, double x1, double x2, double y1, double y2)
        {
            DateTime firstTimeStamp  = DateTime.Now;
            DateTime secondTimeStamp = firstTimeStamp.AddSeconds(secondsBetweenTimestamps);

            Track firstTrack = new Track()
            {
                Tag         = "ASE2018",
                Altitude    = 300,
                XCoordinate = x1,
                YCoordinate = y1,
                TimeStamp   = firstTimeStamp
            };

            Track secondTrack = new Track()
            {
                Tag         = "ASE2018",
                Altitude    = 300,
                XCoordinate = x2,
                YCoordinate = y2,
                TimeStamp   = secondTimeStamp
            };

            string log = "";

            _flightAnalyzer.TracksAnalyzedEvent += (sender, args) => log = args.Log;

            List <Track> firstListWithTracks = new List <Track>();

            firstListWithTracks.Add(firstTrack);
            List <Track> secondListWithTracks = new List <Track>();

            secondListWithTracks.Add(secondTrack);

            _airspaceController.HandleTracks(this, new TracksDataEventArgs(firstListWithTracks));
            _airspaceController.HandleTracks(this, new TracksDataEventArgs(secondListWithTracks));


            StringAssert.Contains(log, secondTrack.ToString());
        }