Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
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));
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 11
0
        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);

        }
Ejemplo n.º 13
0
        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));
        }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        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);
            }
        }
Ejemplo n.º 16
0
        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));
        }