private void TrackLeftedFunc(object o, TrackLeftAirspaceEventArgs args) { var trackToRemove = UpdatedTracksList.Find(i => i.Tag == args.Track.Tag); if (trackToRemove == null) { return; } UpdatedTracksList.Remove(trackToRemove); TrackLefted?.Invoke(this, new TrackLeftedAirspaceEventArgs(new Event(EventsList, "Track Left Airspace", args.Track, DateTime.Now))); TracksUpdated?.Invoke(this, new TracksUpdatedEventArgs(UpdatedTracksList, EventsList)); }
public void TrackLeftAirspaceEventHandler(object sender, TrackLeftAirspaceEventArgs e) { AircraftsJustExcitedAirspace.Add(e.aircraft); var t = new System.Timers.Timer(); t.Elapsed += (o, args) => { AircraftsJustExcitedAirspace.Remove(e.aircraft); }; t.Interval = 5000; // 5 second intervals t.AutoReset = false; t.Enabled = true; }
public void Initial_TrackLeftedOneTrack_TrackInEventIsCorrect() { List <Track> listToTest = new List <Track>(); Track track = new Track() { Tag = "NIC333", X = 25000, Y = 10000, Altitude = 5000, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }; listToTest.Add(track); TracksFilteredEventArgs args = new TracksFilteredEventArgs(listToTest); _filter.TracksFiltered += Raise.EventWith(this, args); List <Track> listToTest2 = new List <Track>(); Track newTrack = new Track() { Tag = "NIC333", X = 25010, Y = 10000, Altitude = 4980, TimeStamp = DateTime.ParseExact("20151006213456800", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }; listToTest2.Add(newTrack); TracksFilteredEventArgs args2 = new TracksFilteredEventArgs(listToTest2); _filter.TracksFiltered += Raise.EventWith(this, args2); Track trackOutOfSpace = new Track() { Tag = "NIC333", X = 25010, Y = 9980, Altitude = 4980, TimeStamp = DateTime.ParseExact("20151006213456800", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }; TrackLeftAirspaceEventArgs args3 = new TrackLeftAirspaceEventArgs(trackOutOfSpace); _filter.TrackLeft += Raise.EventWith(args3); Assert.That(_eventLefted.Track.Tag, Is.EqualTo(track.Tag)); }