public void ATMSystemUnitTests_CheckThatConflictDeletedAfterUpdate_1ConflictDeleted() { ConsoleSeparationEventArgs testArgs = null; _uut.ConsoleSeparationDataReady += (object o, ConsoleSeparationEventArgs a) => { testArgs = a; }; List <string> testData = new List <string>(); testData = new List <string>(); testData.Add("ATR423;45003;30000;15200;20151006213456789"); testData.Add("BCD123;20000;82890;11030;20151006213456789"); //Conflict testData.Add("XYZ987;22059;81654;11000;20151006213456789"); //Conflict RawTransponderDataEventArgs args = new RawTransponderDataEventArgs(testData); //Raise event _fakeTransponderReceiver.TransponderDataReady += Raise.EventWith(this, args); //Test that there is an initial conflict Assert.That(testArgs.conflictList.Count, Is.EqualTo(1)); //Raise event with updated data testData.Add("ATR423;39045;12932;14000;20151006213456789"); testData.Add("BCD123;10005;85890;12000;20151006213456789"); testData.Add("XYZ987;25059;75654;4000;20151006213456789"); args = new RawTransponderDataEventArgs(testData); _fakeTransponderReceiver.TransponderDataReady += Raise.EventWith(this, args); //Check that conflict doesnt exist anymore Assert.That(testArgs.conflictList.Count, Is.EqualTo(0)); }
public void ATMSystemUnitTests_CheckThatExpectedAmmountOfConflictsExist_Expected1ConflictAfterUpdate() { ConsoleSeparationEventArgs testArgs = null; _uut.ConsoleSeparationDataReady += (object o, ConsoleSeparationEventArgs a) => { testArgs = a; }; List <string> testData = new List <string>(); testData.Add("ATR423;39045;12932;14000;20151006213456789"); testData.Add("BCD123;10005;85890;12000;20151006213456789"); testData.Add("XYZ987;25059;75654;4000;20151006213456789"); RawTransponderDataEventArgs args = new RawTransponderDataEventArgs(testData); //Raise event _fakeTransponderReceiver.TransponderDataReady += Raise.EventWith(this, args); //Raise event with updated data testData = new List <string>(); testData.Add("ATR423;45003;30000;15200;20151006213456789"); testData.Add("BCD123;20000;82890;11030;20151006213456789"); //Conflict testData.Add("XYZ987;22059;81654;11000;20151006213456789"); //Conflict args = new RawTransponderDataEventArgs(testData); _fakeTransponderReceiver.TransponderDataReady += Raise.EventWith(this, args); //Check that list contains 1 conflict Assert.That(testArgs.conflictList.Count, Is.EqualTo(1)); }
public void ATMSystemUnitTests_CheckThatOutOfBoundsFlightNotAdded_UpdatedTracks() { ConsoleSeparationEventArgs testArgs = null; _uut.ConsoleSeparationDataReady += (object o, ConsoleSeparationEventArgs a) => { testArgs = a; }; List <string> testData = new List <string>(); testData.Add("ATR423;39045;12932;14000;20151006213456789"); testData.Add("BCD123;10005;85890;12000;20151006213456789"); testData.Add("XYZ987;25059;75654;4000;20151006213456789"); RawTransponderDataEventArgs args = new RawTransponderDataEventArgs(testData); //Raise event _fakeTransponderReceiver.TransponderDataReady += Raise.EventWith(this, args); //Raise event with updated data testData = new List <string>(); testData.Add("ATR423;45003;30000;15200;20151006213456789"); testData.Add("BCD123;20000;92890;11030;20151006213456789"); //Flight now out of bounds testData.Add("XYZ987;22059;79654;5000;20151006213456789"); args = new RawTransponderDataEventArgs(testData); _fakeTransponderReceiver.TransponderDataReady += Raise.EventWith(this, args); //Check that data still only contains 3 tracks Assert.That(testArgs.tracks.Count, Is.EqualTo(2)); }
public void ReceiverOnTransponderReady(object sender, RawTransponderDataEventArgs e) { if (e.TransponderData.Count > 0) { //Receive data, calls list foreach. foreach (var data in e.TransponderData) { List(data); //Converts datastring to separate variables and appropiate types. TypeConverter(); if (_airSpace.IsInAirSpace(x, y, alt) == true) { int index = CheckIfTrackIsInList(flightNum); if (index >= 0) { calc = new TrackCalculator(Tracks[index].XCoordinate, Tracks[index].YCoordinate, x, y, Tracks[index].LastDateUpdate, dateTimeNew); newTrack = new Track(flightNum, x, y, alt, dateTimeNew, calc.CalculateCompassCourse(), calc.CalculateHorizontalVelocity()); Tracks[index] = newTrack; } else { newTrack = new Track(flightNum, x, y, alt, dateTimeNew); Tracks.Add(newTrack); } _conflictList = _separationChecker.CheckForSeparation(Tracks, newTrack); //_separationChecker = new SeparationChecker(_airSpace, _condition); } else { int index = CheckIfTrackIsInList(flightNum); if (index >= 0) { Tracks.RemoveAt(index); } } } SeparationLogEventArgs logArgs = new SeparationLogEventArgs(); logArgs.ConflictList = _conflictList; SeparationLogDataReady?.Invoke(this, logArgs); ConsoleSeparationEventArgs conArgs = new ConsoleSeparationEventArgs() { conflictList = _conflictList, tracks = Tracks }; ConsoleSeparationDataReady?.Invoke(this, conArgs); } }
public void ATMSystemUnitTests_TestForConsoleEventNotFired_EmptyList() { ConsoleSeparationEventArgs testArgs = null; _uut.ConsoleSeparationDataReady += (object o, ConsoleSeparationEventArgs a) => { testArgs = a; }; List <string> testData = new List <string>(); RawTransponderDataEventArgs args = new RawTransponderDataEventArgs(testData); //Raise event _fakeTransponderReceiver.TransponderDataReady += Raise.EventWith(this, args); //Test event not fired Assert.That(testArgs, Is.Null); }
public void ATmSystemUnitTests_TestForConsoleEventFired_NonEmptyList() { ConsoleSeparationEventArgs testArgs = null; _uut.ConsoleSeparationDataReady += (object o, ConsoleSeparationEventArgs a) => { testArgs = a; }; List <string> testData = new List <string>(); testData.Add("ATR423;39045;12932;14000;20151006213456789"); testData.Add("BCD123;10005;85890;12000;20151006213456789"); testData.Add("XYZ987;25059;75654;4000;20151006213456789"); RawTransponderDataEventArgs args = new RawTransponderDataEventArgs(testData); //Raise event _fakeTransponderReceiver.TransponderDataReady += Raise.EventWith(this, args); //Test event fired Assert.That(testArgs, Is.Not.Null); }
public void ConsoleSeparationDataHandler(object sender, ConsoleSeparationEventArgs args) { Print(args.tracks, args.conflictList); }