예제 #1
0
        public void HandleTrack_TrackIsOutideAirspace_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 = 50000, YCoordinate = 300, Tag = "CP8"
            };

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

            Track trackFromEvent = new Track();

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

            _airspaceController.HandleTracks(this, arg);

            Assert.That(trackFromEvent, Is.EqualTo(track));
        }
예제 #2
0
 public void HandleTracks(object o, TracksDataEventArgs arg)
 {
     foreach (var track in arg.Tracks)
     {
         if (_airspaceTrackChecker.CheckTrack(track))
         {
             var handler = TrackInAirspace;
             handler?.Invoke(this, new TrackEventArgs(track));
         }
         else
         {
             var handler = TrackOutsideAirspace;
             handler?.Invoke(this, new TrackEventArgs(track));;
         }
     }
 }
        public void HandleTracks_TracksInAirspace_OutsideEventWasNotRaised(int NumberOfTracks)
        {
            //Arrange
            int NumberOfEventRaised = 0;

            _uut.TrackOutsideAirspace += (sender, args) => NumberOfEventRaised++;
            _fakeAirspaceTrackChecker.CheckTrack(Arg.Any <Track>()).Returns(true);
            List <Track> tracks = new List <Track>();

            for (int i = 0; i < NumberOfTracks; i++)
            {
                tracks.Add(new Track());
            }


            //Act
            TracksDataEventArgs arg = new TracksDataEventArgs(tracks);

            _fakeTransponderDataReciever.TrackDataReady += Raise.EventWith <TracksDataEventArgs>(arg);


            //Assert
            Assert.That(NumberOfEventRaised, Is.EqualTo(0));
        }