public void HandleTracks_TracksInAirspace_CorrectEventWasRaised(int NumberOfTracks)
        {
            //Arrange
            int NumberOfEventRaised = 0;

            _uut.TrackInAirspace += (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(NumberOfTracks));
        }
예제 #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));;
         }
     }
 }