Esempio n. 1
0
        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));
        }
Esempio n. 2
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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 public void ConsoleSeparationDataHandler(object sender, ConsoleSeparationEventArgs args)
 {
     Print(args.tracks, args.conflictList);
 }