public void FilterTrack(object o, TracksChangedEventArgs args) { List <Track> newFilteredTracks = new List <Track>(); foreach (var track in args.Tracks) { var newEvent = new IsTrackInAirspaceEventArgs(track); IsTrackInAirspace?.Invoke(this, newEvent); if (newEvent.IsInAirspace) { newFilteredTracks.Add(track); } else { foreach (var trackInUpdatedList in UpdatedTracksList) { if (track.Tag == trackInUpdatedList.Tag) { TrackLeft?.Invoke(this, new TrackLeftAirspaceEventArgs(track)); break; } } } } TracksFilteredEventArgs Args = new TracksFilteredEventArgs(newFilteredTracks); TracksFiltered?.Invoke(this, Args); UpdatedTracksList = Args.UpdatedTracks; }
public void Initial_TracksLeftOneTrack_TrackLeftIsCorrect() { List <Track> listToTest = new List <Track>(); Track track = new Track() { Tag = "NIC888", X = 25000, Y = 10005, Altitude = 5000, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }; listToTest.Add(track); TracksChangedEventArgs args = new TracksChangedEventArgs(listToTest); _parser.TracksChanged += Raise.EventWith(this, args); List <Track> listToTest2 = new List <Track>(); Track newTrack = new Track() { Tag = "NIC888", X = 25010, Y = 9990, Altitude = 4980, TimeStamp = DateTime.ParseExact("20151006213456800", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }; listToTest2.Add(newTrack); TracksChangedEventArgs args2 = new TracksChangedEventArgs(listToTest2); _parser.TracksChanged += Raise.EventWith(this, args2); Assert.That(_trackLeft.Tag, Is.EqualTo(track.Tag)); }
public void Initial_TracksFilteredFiveTracks_TracksCountIsCorrect() { List <Track> listToTest = new List <Track>(); _filter = new Filter(_parser); listToTest.Add(new Track() { Tag = "NIC111", X = 25000, Y = 65000, Altitude = 15000, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }); listToTest.Add(new Track() { Tag = "GJO222", X = 35000, Y = 55000, Altitude = 5000, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }); listToTest.Add(new Track() { Tag = "ASD333", X = 45000, Y = 45000, Altitude = 7000, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }); listToTest.Add(new Track() { Tag = "ASD444", X = 55000, Y = 8000, Altitude = 9000, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }); listToTest.Add(new Track() { Tag = "NIP111", X = 5000, Y = 25000, Altitude = 3000, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }); TracksChangedEventArgs args = new TracksChangedEventArgs(listToTest); _parser.TracksChanged += Raise.EventWith(args); Assert.That(_tracksFilteredList.Count, Is.EqualTo(3)); }
public void FilterTrack_TrackOutsideAirspace_NotAddedToFilteredTracks() { List <Track> testTracks = new List <Track>(); testTracks.Add(outsideLowerBoundry); var args = new TracksChangedEventArgs(testTracks); _dataReader.TracksChanged += Raise.EventWith(args); Assert.That(!_filteredTracks.Contains(outsideLowerBoundry)); }
public void FilterTrack_OneTracksInAirspace_AddedToFilteredTracks() { List <Track> testTracks = new List <Track>(); testTracks.Add(insideMiddle); var args = new TracksChangedEventArgs(testTracks); _dataReader.TracksChanged += Raise.EventWith(args); Assert.That(_filteredTracks.Contains(insideMiddle)); }
public void FilterTrack_ThreeTracksInAirspace_AddedToFilteredTracks() { List <Track> testTracks = new List <Track>(); testTracks.Add(insideLowerBoundry); testTracks.Add(insideMiddle); testTracks.Add(insideUpperBoundry); var args = new TracksChangedEventArgs(testTracks); _dataReader.TracksChanged += Raise.EventWith(args); Assert.That(_filteredTracks.Count, Is.EqualTo(3)); }
public void FilterTrack_TracksAddedTwice_NumberOfEventsReceivedIsCorrect() { List <Track> testTracks = new List <Track>(); testTracks.Add(insideLowerBoundry); var args = new TracksChangedEventArgs(testTracks); _dataReader.TracksChanged += Raise.EventWith(args); args.Tracks.Add(insideUpperBoundry); _dataReader.TracksChanged += Raise.EventWith(args); Assert.That(_nEventsRecieved, Is.EqualTo(2)); }
public void FilterTrack(object o, TracksChangedEventArgs args) { foreach (var track in args.Tracks) { if (_airspace.IsTrackInAirspace(track)) { FilteredTracksList.Add(track); } } var handler = TracksFiltered; handler?.Invoke(this, new TracksFilteredEventArgs(FilteredTracksList)); }
public void Initial_IsTrackInAirspaceOneTrack_TracksIsCorrect() { List <Track> listToTest = new List <Track>(); Track track = new Track() { Tag = "NIC111", X = 25000, Y = 25000, Altitude = 5000, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }; listToTest.Add(track); TracksChangedEventArgs args = new TracksChangedEventArgs(listToTest); _parser.TracksChanged += Raise.EventWith(args); Assert.That(_track, Is.EqualTo(track)); }
public void Initial_SeperationCheckerTwoTracks_TracksIsCorrect() { List <Track> listToTest = new List <Track>(); Track track = new Track() { Tag = "NIC444", X = 25000, Y = 20000, Altitude = 5000, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }; listToTest.Add(track); TracksChangedEventArgs args = new TracksChangedEventArgs(listToTest); _parser.TracksChanged += Raise.EventWith(this, args); List <Track> listToTest2 = new List <Track>(); Track newTrack1 = new Track() { Tag = "NIC444", X = 25010, Y = 20020, Altitude = 4980, TimeStamp = DateTime.ParseExact("20151006213456800", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }; Track newTrack2 = new Track() { Tag = "GOG123", X = 34010, Y = 15000, Altitude = 4980, TimeStamp = DateTime.ParseExact("20151006213456800", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }; listToTest2.Add(newTrack1); listToTest2.Add(newTrack2); TracksChangedEventArgs args2 = new TracksChangedEventArgs(listToTest2); _parser.TracksChanged += Raise.EventWith(this, args2); Assert.That(_sepTrack.Tag, Is.EqualTo(newTrack1.Tag)); Assert.That(_tracksUpdatedeInSeperationList[1].Tag, Is.EqualTo(newTrack2.Tag)); }
public void Initial_TracksFilteredOneTrack_TrackIsCorrect(int x, int y, int alt, bool result) { List <Track> listToTest = new List <Track>(); Track track = new Track() { Tag = "NIC111", X = x, Y = y, Altitude = alt, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }; listToTest.Add(track); TracksChangedEventArgs args = new TracksChangedEventArgs(listToTest); _parser.TracksChanged += Raise.EventWith(args); Assert.That(_tracksFilteredList.Contains(track), Is.EqualTo(result)); }
public void Initial_TracksUpdatedThreeTracks_TracksCountIsCorrect() { List <Track> listToTest = new List <Track>(); listToTest.Add(new Track() { Tag = "NIC111", X = 25000, Y = 65000, Altitude = 15000, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }); listToTest.Add(new Track() { Tag = "GJO222", X = 35000, Y = 55000, Altitude = 5000, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }); listToTest.Add(new Track() { Tag = "ASD333", X = 45000, Y = 45000, Altitude = 7000, TimeStamp = DateTime.ParseExact("20151006213456789", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }); TracksChangedEventArgs args = new TracksChangedEventArgs(listToTest); _parser.TracksChanged += Raise.EventWith(this, args); List <Track> listToTest2 = new List <Track>(); listToTest2.Add(new Track() { Tag = "NIC111", X = 25010, Y = 64987, Altitude = 14998, TimeStamp = DateTime.ParseExact("20151006213456800", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }); listToTest2.Add(new Track() { Tag = "GJO222", X = 35005, Y = 55015, Altitude = 5010, TimeStamp = DateTime.ParseExact("20151006213456800", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }); listToTest2.Add(new Track() { Tag = "ASD333", X = 45008, Y = 44994, Altitude = 7002, TimeStamp = DateTime.ParseExact("20151006213456800", "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture) }); TracksChangedEventArgs args2 = new TracksChangedEventArgs(listToTest2); _parser.TracksChanged += Raise.EventWith(this, args2); Assert.That(_updatedTrackList.Count, Is.EqualTo(3)); }