static void Main(string[] args) { // TEST AF SYSTEM UDEN SEPARATION EVENT FileLogger filelogger = new FileLogger(); ConsoleRenderer consolerender = new ConsoleRenderer(); Airspace airspace = new Airspace(10000, 90000, 10000, 90000, 500, 20000); var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver(); var system = new ATM.TransponderReceiver(receiver); ATMclass atm = new ATMclass(filelogger, consolerender, airspace); system.Attach(atm); // TEST AF SYSTEM MED SEPARATION EVENTS //TrackData trackData1 = new TrackData("TEST1", 12000, 12000, 1000, "14322018", 10, 270); //TrackData trackData2 = new TrackData("TEST2", 12000, 12000, 1000, "14322018", 10, 270); //atm._currentTracks.Add(trackData1); //atm.CheckForSeperationEvents(trackData2); //atm.CheckForSeperationEvents(trackData2); // TEST AF SYSTEM MED LOGGER while (true) { Thread.Sleep(1000); } }
public void TransponderReceiver_3NewTracksWithSameTags_TrackCountIs1() { //Test inspired by "TransponderReceiverUser" by FRABJ. // Make a fake Transponder Data Receiver var _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>(); // Inject the fake TDR var transponderReceiver = new TransponderReceiver(_fakeTransponderReceiver); //We need uut with a REAL airspace, not a FAKE for this test. uut = new ATMclass(logger, renderer, airspace); // Setup test data List <string> testData = new List <string>(); testData.Add("ATR423;39045;12932;14000;20151006213456789"); testData.Add("ATR423;10005;85890;12000;20151006213456789"); testData.Add("ATR423;25059;75654;4000;20151006213456789"); //Attach uut to receiver transponderReceiver.Attach(uut); // Act: Trigger the fake object to execute event invocation _fakeTransponderReceiver.TransponderDataReady += Raise.EventWith(this, new RawTransponderDataEventArgs(testData)); Assert.That(uut._currentTracks.Count.Equals(1)); }
public void Setup() { //Set up S's fakeConsoleOutput = Substitute.For <IConsoleOutput>(); fakeFileOutput = Substitute.For <IFileOutput>(); //Set up X's airspace = new Airspace(10000, 90000, 10000, 90000, 500, 20000); trackData1 = new TrackData("ABC123", 30000, 30000, 3000, "20181224200050123", 100, 45, fakeConsoleOutput); trackData2 = new TrackData("DEF123", 30001, 30001, 3001, "20181224200050123", 100, 45, fakeConsoleOutput); trackData3 = new TrackData("ABC123", 30000, 30000, 3000, "20181224200050123", 100, 45, fakeConsoleOutput); trackData4 = new TrackData("DEF123", 50000, 50000, 5000, "20181224200050123", 100, 45, fakeConsoleOutput); //Fake transponderReceiver fakeTransponderReceiver = Substitute.For <ITransponderReceiver>(); //Create new ATM.TransponderReceiver for simulating inputs from the TransponderReceiver from the dll. transponderReceiver = new TransponderReceiver(fakeTransponderReceiver, fakeConsoleOutput); //Set up T's ATM = new ATMclass(fakeConsoleOutput, fakeFileOutput, airspace, fakeTransponderReceiver); //Attach ATM, so that updates to the transponderReceiver updates data in the ATM transponderReceiver.Attach(ATM); }
public void HandleNewTrackData_TrackJustAdded_SpeedIs0() { uut = new ATMclass(consoleOutput, fileOutput, airspace, transponderReceiver); TrackData testTrack1 = new TrackData("ABC", 10000, 10000, 1000, timestamp, 0, 10, consoleOutput); uut.HandleNewTrackData(testTrack1); Assert.That(uut.CurrentTracks[0].CurrentHorzVel.Equals(0)); }
public void ATMclass_HandleNewTrackDataTrackDataInRange_CurrentTracksCountIs1() { //Track data with coordinates inside airspace. TrackData trackData1 = new TrackData("ABC", xMin + 1, yMin + 1, zMin + 1, "180320180954", 200, 200, consoleOutput); uut = new ATMclass(consoleOutput, fileOutput, airspace, transponderReceiver); uut.HandleNewTrackData(trackData1); Assert.That(uut.CurrentTracks.Count.Equals(1)); }
public void setup() { //Setup stuff airspace = new Airspace(xMin, xMax, yMin, yMax, zMin, zMax); fakeAirspace = new FakeAirspace(xMin, xMax, yMin, yMax, zMin, zMax); logger = new FakeLogger(); renderer = new FakeRenderer(); //Make new fake TransponderReceiver. seperationEvents = new List <SeperationEvent>(); tracks = new List <TrackData>(); timestamp = "235928121999"; uut = new ATMclass(logger, renderer, fakeAirspace); }
public void HandleNewTrackData_TrackMovedMinus1Zin1Sec_SpeedIsUpdatedTo0() { uut = new ATMclass(consoleOutput, fileOutput, airspace, transponderReceiver); string timestampOld = "20181109103800000"; string timestampNew = "20181109103801000"; //Timestamp 1 second later TrackData testTrack1 = new TrackData("ABC", 10000, 10000, 1001, timestampOld, 0, 0, consoleOutput); TrackData testTrack2 = new TrackData("ABC", 10000, 10000, 1000, timestampNew, 0, 0, consoleOutput); uut.HandleNewTrackData(testTrack1); uut.HandleNewTrackData(testTrack2); Assert.That(uut.CurrentTracks[0].CurrentHorzVel.Equals(0)); }
public void Setup() { //Setup stuff airspace = new Airspace(xMin, xMax, yMin, yMax, zMin, zMax); fakeAirspace = Substitute.For <IAirspace>(); consoleOutput = Substitute.For <IConsoleOutput>(); fileOutput = Substitute.For <IFileOutput>(); //Make new fake TransponderReceiver. transponderReceiver = Substitute.For <ITransponderReceiver>();; tracks = new List <TrackData>(); uut = new ATMclass(consoleOutput, fileOutput, fakeAirspace, transponderReceiver); }
public void ATMclass_HandleNewTrackDataNewTrackDataComesOutOfRange_CurrentTracksCountIs0() { //We need uut with a REAL airspace, not a FAKE for this test. uut = new ATMclass(logger, renderer, airspace); //Track data with coordinates inside airspace. TrackData trackData1 = new TrackData("ABC", xMin + 1, yMin + 1, zMin + 1, "180320180954", 200, 200); //Track data with same tag, butf coordinates outside airspace. TrackData trackData2 = new TrackData("ABC", xMin - 1, yMin - 1, zMin - 1, "180320180954", 200, 200); uut.HandleNewTrackData(trackData1); uut.HandleNewTrackData(trackData2); Assert.That(uut._currentTracks.Count.Equals(0)); }
public void setup() { //Setup stuff airspace = new Airspace(xMin, xMax, yMin, yMax, zMin, zMax); fakeAirspace = Substitute.For <IAirspace>(); consoleOutput = Substitute.For <IConsoleOutput>(); fakeFileOutput = Substitute.For <IFileOutput>(); //Make new fake TransponderReceiver. transponderReceiver = Substitute.For <ITransponderReceiver>(); seperationEvents = new List <Event>(); tracks = new List <TrackData>(); timestamp = "235928121999"; uut = new ATMclass(consoleOutput, fakeFileOutput, fakeAirspace, transponderReceiver); }
public void ATMclass_HandleNewTrackDataNewTrackDataComesOutOfRange_CurrentTracksCountIs0() { //We need uut with a REAL airspace, not a FAKE for this test. uut = new ATMclass(consoleOutput, fileOutput, airspace, transponderReceiver); //Track data with coordinates inside airspace. TrackData trackData1 = new TrackData("ABC", xMin + 1, yMin + 1, zMin + 1, "20181108102045200", 200, 200, consoleOutput); //Track data with same tag, butf coordinates outside airspace. TrackData trackData2 = new TrackData("ABC", xMin - 1, yMin - 1, zMin - 1, "20181108102045200", 200, 200, consoleOutput); uut.HandleNewTrackData(trackData1); uut.HandleNewTrackData(trackData2); Assert.That(uut.CurrentTracks.Count.Equals(0)); }
public void setup() { //Set up S's fakeConsoleOutput = Substitute.For<IConsoleOutput>(); fakeFileOutput = Substitute.For<IFileOutput>(); fakeIntervalTimer = Substitute.For<IIntervalTimer>(); fakeTransponderReceiver = Substitute.For<ITransponderReceiver>(); //Set up X's airspace = new Airspace(10000, 90000, 10000, 90000, 500, 20000); //Set up T's atmClass = new ATMclass(fakeConsoleOutput, fakeFileOutput, airspace, fakeTransponderReceiver); }
public void HandleNewTrackData_TrackMoved1X1Yin1Sec_SpeedIsUpdatedTo1p414() { uut = new ATMclass(consoleOutput, fileOutput, airspace, transponderReceiver); //sqrt(3^2+3^2)=3 string timestampOld = "20181109103800000"; string timestampNew = "20181109103801000"; //Timestamp 1 second later TrackData testTrack1 = new TrackData("ABC", 10000, 10000, 1000, timestampOld, 0, 0, consoleOutput); TrackData testTrack2 = new TrackData("ABC", 10001, 10001, 1000, timestampNew, 0, 0, consoleOutput); uut.HandleNewTrackData(testTrack1); uut.HandleNewTrackData(testTrack2); double result = Math.Sqrt(Math.Pow(1, 2) + Math.Pow(1, 2)); Assert.That(uut.CurrentTracks[0].CurrentHorzVel.Equals(result)); }
public void Setup() { //Set up S's fakeConsoleOutput = Substitute.For <IConsoleOutput>(); fakeFileOutput = Substitute.For <IFileOutput>(); //Set up X's airspace = new Airspace(10000, 90000, 10000, 90000, 500, 20000); trackData1 = new TrackData("ABC123", 30000, 30000, 3000, "20181224200050123", 100, 45, fakeConsoleOutput); trackData2 = new TrackData("DEF123", 30001, 30001, 3001, "20181224200050123", 100, 45, fakeConsoleOutput); trackData3 = new TrackData("ABC123", 30000, 30000, 3000, "20181224200050123", 100, 45, fakeConsoleOutput); trackData4 = new TrackData("DEF123", 50000, 50000, 5000, "20181224200050123", 100, 45, fakeConsoleOutput); //Fake transponderReceiver fakeTransponderReceiver = Substitute.For <ITransponderReceiver>(); //Set up T's ATM = new ATMclass(fakeConsoleOutput, fakeFileOutput, airspace, fakeTransponderReceiver); }
static void Main(string[] args) { // TEST AF SYSTEM UDEN SEPARATION EVENT IConsoleOutput consoleOutput = new ConsoleOutput(); IFileOutput fileOutput = new FileOutput(); Airspace airspace = new Airspace(0, 900000, 0, 900000, 0, 200000); var receiver = TransponderReceiverFactory.CreateTransponderDataReceiver(); var system = new ATM.TransponderReceiver(receiver, consoleOutput); var atm = new ATMclass(consoleOutput, fileOutput, airspace, receiver); system.Attach(atm); // RUN INFINITE while (true) { Thread.Sleep(1000); } }
public void ATMclass_TrackDatasAreInvolvedInSeperationEvent_IsInvolvedInSeperationEventReturnsTrue() { uut = new ATMclass(consoleOutput, fileOutput, airspace, transponderReceiver); //Create 2 trackDatas that are in seperation event. TrackData trackData1 = new TrackData("ABC", 10001, 10001, 10001, "180320180954", 200, 200, consoleOutput); TrackData trackData2 = new TrackData("DEF", 10002, 10002, 10002, "180320180954", 200, 200, consoleOutput); List <TrackData> trackDatas = new List <TrackData>() { trackData1, trackData2 }; //Create seperation event from the two trackDatas and add to current seperation events. //SeperationEvent seperationEvent = new SeperationEvent(trackData1._TimeStamp, trackDatas, true, consoleOutput, fileOutput); //uut._currentEvents.Add(seperationEvent); uut.CurrentEvents.AddSeperationEventFor(trackData1, trackData2, fileOutput); Assert.That(() => uut.CurrentEvents.CheckIfSeperationEventExistsFor(trackData1, trackData2).Equals(true)); }