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)); }
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));; } } }