Exemple #1
0
        public void Setup()
        {
            _logWriterToFile         = Substitute.For <ILogWriter>();
            _logWriterToConsole      = Substitute.For <ILogWriter>();
            _currentSeperationEvents = new List <SeperationEvent>();
            _newEventslist           = new List <SeperationEvent>();
            _uut   = new EventController(_logWriterToFile, _logWriterToConsole);
            _date1 = new DateTime(2018, 07, 02, 14, 07, 15);
            _date2 = new DateTime(2018, 07, 02, 14, 07, 19);

            _seperationEvent1 = new SeperationEvent
            {
                Tag1             = "DJE900",
                Tag2             = "SJE900",
                TimeOfOccurrence = _date1
            };

            _seperationEvent2 = new SeperationEvent
            {
                Tag1             = "DJE900",
                Tag2             = "SJE900",
                TimeOfOccurrence = _date2
            };

            _seperationEvent3 = new SeperationEvent
            {
                Tag1             = "DJE100",
                Tag2             = "SJE100",
                TimeOfOccurrence = _date2
            };
        }
        public void SetUp()
        {
            _logWriterToFile    = Substitute.For <ILogWriter>();
            _logWriterToConsole = Substitute.For <ILogWriter>();
            _eventController    = new EventController(_logWriterToFile, _logWriterToConsole);
            _seperationEvent    = new SeperationEvent();
            _seperationTracks   = new SeperationTracks(_seperationEvent, _eventController);
            _myTrackList        = new List <Track>();

            _date1  = new DateTime(2018, 4, 17, 20, 15, 12);
            _date2  = new DateTime(2018, 4, 17, 20, 15, 14);
            _track1 = new Track
            {
                Tag         = "JHL878",
                XCoordinate = 12345,
                YCoordinate = 98765,
                Altitude    = 19987,
                Timestamp   = _date1
            };
            _track2 = new Track
            {
                Tag         = "MDO724",
                XCoordinate = 12346,
                YCoordinate = 98766,
                Altitude    = 19988,
                Timestamp   = _date2
            };
        }
Exemple #3
0
        static void Main(string[] args)
        {
            List <String> transponderdataList = new List <string>();
            var           track1 = "BIJ515;12345;54321;17891;20180409153742853";
            var           track2 = "BIJ516;12345;54322;17891;20180409153742853";

            transponderdataList.Add(track1);
            transponderdataList.Add(track2);

            Faketransponderreciever myReciever = new Faketransponderreciever(transponderdataList);
            //var myReciever = Faketransponderreciever.ITransponderReceiver.CreateTransponderDataReceiver();

            IConvertStringToDateTime convertStringToDateTime = new ConvertStringToDateTime();
            ICalculateVelocity       calculateVelocity       = new CalculateVelocity();
            ICalculateCourse         calculateCourse         = new CalculateCourse();
            IWriter           writer             = new ConsoleWriter();
            ILogWriter        logWriterToFile    = new LogWriter();
            ILogWriter        logWriterToConsole = new LogWriter();
            SeperationEvent   seperationEvent    = new SeperationEvent();
            IEventController  eventController    = new EventController(logWriterToFile, logWriterToConsole);
            ISeperationTracks seperationTracks   = new SeperationTracks(seperationEvent, eventController);
            ISortingTracks    sortingTracks      = new SortingTracks(calculateVelocity, calculateCourse, writer, seperationTracks);
            IFilterAirspace   filterAirspace     = new FilterAirspace(sortingTracks);
            IConvertTrackData convertTrackData   = new ConvertTrackData(myReciever, convertStringToDateTime, filterAirspace);

            Console.ReadKey();
        }
Exemple #4
0
        public void SetUp()
        {
            _writer             = Substitute.For <IWriter>();
            _calculateVelocity  = new CalculateVelocity();
            _calculateCourse    = new CalculateCourse();
            _logWriterToFile    = Substitute.For <ILogWriter>();
            _logWriterToConsole = Substitute.For <ILogWriter>();
            _eventController    = new EventController(_logWriterToFile, _logWriterToConsole);
            _seperationEvent    = new SeperationEvent();
            _seperationTracks   = new SeperationTracks(_seperationEvent, _eventController);
            _sortingTracks      = new SortingTracks(_calculateVelocity, _calculateCourse, _writer, _seperationTracks);
            _filterAirspace     = new FilterAirspace(_sortingTracks);

            _myTrackList = new List <Track>();

            _date1 = new DateTime(2018, 04, 05, 20, 20, 18);
            _date2 = new DateTime(2018, 04, 05, 20, 20, 20);

            _track1 = new Track
            {
                Tag         = "BIJ515",
                XCoordinate = 90000,
                YCoordinate = 90000,
                Altitude    = 3000,
                Timestamp   = _date1
            };
            _track2 = new Track
            {
                Tag         = "BIJ515",
                XCoordinate = 9000,
                YCoordinate = 10000,
                Altitude    = 3000,
                Timestamp   = _date2
            };
        }
Exemple #5
0
        public void SetUp()
        {
            _writer                  = Substitute.For <IWriter>();
            _calculateVelocity       = new CalculateVelocity();
            _calculateCourse         = new CalculateCourse();
            _transponderReceiver     = Substitute.For <ITransponderReceiver>();
            _logWriterToFile         = Substitute.For <ILogWriter>();
            _logWriterToConsole      = Substitute.For <ILogWriter>();
            _convertStringToDateTime = new ConvertStringToDateTime();
            _eventController         = new EventController(_logWriterToFile, _logWriterToConsole);
            _seperationEvent         = new SeperationEvent();
            _seperationTracks        = new SeperationTracks(_seperationEvent, _eventController);
            _sortingTracks           = new SortingTracks(_calculateVelocity, _calculateCourse, _writer, _seperationTracks);
            _filterAirspace          = new FilterAirspace(_sortingTracks);
            _convertTrackData        = new ConvertTrackData(_transponderReceiver, _convertStringToDateTime, _filterAirspace);

            var track = "BIJ515;12345;54321;17891;20180409153742853";

            _myList = new List <string> {
                track
            };

            var eventArgs = new RawTransponderDataEventArgs(_myList);

            _transponderReceiver.TransponderDataReady += Raise.EventWith(eventArgs);
        }
Exemple #6
0
        public void Print_PrintsTheEvent()
        {
            var se = new SeperationEvent(_newTrack, _oldTrack);

            var printed = se.Print();

            Assert.That(printed, Is.EqualTo($"at the time of: {_newTrack.Timestamp}, the following tracks had a seperation event occur: B431, and J443"));
        }
Exemple #7
0
        public void TestSeperationEvent_SeperationEventDoesNotOccur_DoesNotSetTime()
        {
            var defaultTime = new DateTime();

            _newTrack.Tag = "J443";

            var se = new SeperationEvent(_newTrack, _oldTrack);

            Assert.That(se.TimeOfOccurence, Is.EqualTo(defaultTime));
        }
Exemple #8
0
        public void TestSeperationEvent_SeperationEventOccurs_SetsToExpectedTime()
        {
            DateTime date1 = new DateTime(2013, 6, 1, 12, 32, 30);

            nTrack = new Track("B342", 20000, 20000, 550f, date1);

            seperationEvent = new SeperationEvent(nTrack, oTrack);

            Assert.That(seperationEvent.TimeOfOccurence, Is.EqualTo(date1));
        }
Exemple #9
0
        public void CheckIfSeperationEventExistsFor_InvolvingSeperationEventExistsTagsMatchWrongOrder_ReturnTrue()
        {
            List <TrackData> tracks = new List <TrackData>();

            tracks.Add(td1);
            tracks.Add(td2);
            SeperationEvent se = new SeperationEvent(timeStamp, tracks, true, fakeConsoleOutput, fakeFileOutput);

            uut.events.Add(se);
            Assert.That(uut.CheckIfSeperationEventExistsFor(td2, td1).Equals(true));
        }
Exemple #10
0
        public void CheckIfSeperationEventExistsFor_OtherSeperationEventExists_ReturnFalse()
        {
            List <TrackData> tracks = new List <TrackData>();

            tracks.Add(td1);
            tracks.Add(td2);
            SeperationEvent se = new SeperationEvent(timeStamp, tracks, true, fakeConsoleOutput, fakeFileOutput);

            uut.events.Add(se);
            Assert.That(uut.CheckIfSeperationEventExistsFor(td3, td2).Equals(false));
        }
        public void CheckIfSeperationEventExistsBetween_TrackDatasInDifferentOrderAsForSeperationEvent_returnsTrue()
        {
            List <TrackData> trackDatas = new List <TrackData>()
            {
                new TrackData("ABC", 1, 2, 3, "time", 5, 6),
                new TrackData("DEF", 1, 2, 3, "time", 5, 6)
            };
            SeperationEvent seperationEvent1 = new SeperationEvent("time", trackDatas, true);

            uut._currentSeperationEvents.Add(seperationEvent1);

            Assert.That(() => uut.CheckIfSeperationEventExistsFor(trackDatas[1], trackDatas[0]).Equals(true));
        }
Exemple #12
0
        public void TestSeperationEvent_SeperationEventDoesNotOccur_DoesNotSetTime()
        {
            //Just make the tags the same

            DateTime date1 = new DateTime(2013, 6, 1, 12, 32, 30);

            nTrack = new Track("J443", 20000, 20000, 550f, date1);


            seperationEvent = new SeperationEvent(nTrack, oTrack);

            Assert.That(seperationEvent.TimeOfOccurence, Is.EqualTo(time));
        }
        public void logging_logActiveSeparationEvent_Tag2IsSame()
        {
            TrackData        trackData1 = new TrackData("ABC", 10000, 20000, 3000, timestamp, 100, 10);
            TrackData        trackData2 = new TrackData("DEF", 10000, 20000, 3000, timestamp, 100, 10);
            List <TrackData> trackDatas = new List <TrackData>
            {
                trackData1,
                trackData2
            };
            SeperationEvent seperationEvent = new SeperationEvent(timestamp, trackDatas, true);

            uut.CheckForSeperationEvent(trackData1, trackData2);
            Assert.That(logger.ParametersList[0]._InvolvedTracks[1]._Tag.Equals(seperationEvent._InvolvedTracks[1]._Tag));
        }
Exemple #14
0
        public void TestUpdateEvents_EventDetection_SeperationEventOccurs()
        {
            var testTrack  = new Track("tag", 25000, 25000, 600, new DateTime());
            var testTrack2 = new Track("tag2", 25000, 25000, 600, new DateTime());

            SeperationEvent se = new SeperationEvent(testTrack, testTrack2);

            _tracks.Add(testTrack); //keeps same values to ensure that event occurs
            _tracks.Add(testTrack2);

            _uut.UpdateEvents(_tracks[0], _tracks);

            Assert.AreEqual(_el.CurrEvents[0].TimeOfOccurence, se.TimeOfOccurence);
        }
        public void rendering_RenderSeperationEventCalledWith2EventsInList_MethodHasBeenCalled2Times()
        {
            List <TrackData> trackDatas = new List <TrackData>()
            {
                new TrackData("ABC", 1, 2, 3, "time", 5, 6),
                new TrackData("ABC", 1, 2, 3, "time", 5, 6)
            };
            SeperationEvent seperationEvent1 = new SeperationEvent("time", trackDatas, true);

            uut._currentSeperationEvents.Add(seperationEvent1);
            uut._currentSeperationEvents.Add(seperationEvent1);

            uut.RenderSeperationEvents();
            Assert.That(() => renderer.RenderSeperationEvent_TimesCalled.Equals(2));
        }
 public void SetUp()
 {
     fakeMonitoredPlanes = Substitute.For <MonitoredPlanes>();
     fakeDisplay         = Substitute.For <IDisplay>();
     fakeLogFile         = Substitute.For <ILogFile>();
     uut        = new SeperationEvent(fakeMonitoredPlanes, fakeDisplay, fakeLogFile);
     faketrack1 = new Track()
     {
         Tag = "ABC123"
     };
     faketrack2 = new Track()
     {
         Tag = "DEF456"
     };
 }
Exemple #17
0
        public void UpdateCurrEvent_EventExists_OriginalEventKeptUnchanged(string tag1, string tag2)
        {
            //Arrange
            Track track1 = new Track(tag1, 25000, 25000, 600, new DateTime());

            Track track2 = new Track(tag2, 25000, 25000, 600, new DateTime());

            IEvent evnt = new SeperationEvent(track1, track2);

            //Act
            _uut.UpdateCurrEvent(evnt);

            //Assert
            Assert.That(_uut.CurrEvents[0], Is.EqualTo(_event));
        }
Exemple #18
0
        public void UpdateCurrEvent_EventDoesntExist_EventAdded(string tag1, string tag2)
        {
            //Arrange
            Track track1 = new Track(tag1, 25000, 25000, 600, new DateTime());

            Track track2 = new Track(tag2, 25000, 25000, 600, new DateTime());


            IEvent evnt = new SeperationEvent(track1, track2);

            //Act
            _uut.UpdateCurrEvent(evnt);

            //Assert
            Assert.That(_uut.CurrEvents[1], Is.EqualTo(evnt)); //TODO: Consider if testing for amount of events makes more sense
        }
Exemple #19
0
        public void EndEvent_EventDoesntExists_NoChangesAreMade()
        {
            //Act
            Track track1 = new Track("3", 25000, 25000, 600, new DateTime());

            Track track2 = new Track("4", 25000, 25000, 600, new DateTime());

            IEvent evnt = new SeperationEvent(track1, track2);

            _uut.CurrEvents.Add(evnt);

            _uut.EndEvent(evnt);

            //Assert
            Assert.That(_uut.CurrEvents.Count, Is.EqualTo(1));
        }
        public void logging_LogInactiveSeperationEvent_IsRaisedIsSameAsForSeperationEvent()
        {
            //Set up seperation event, that when checked, should be removed,
            //since the conditions for a seperation event no longer are true.
            TrackData        trackData1 = new TrackData("ABC", 10000, 10000, 1000, timestamp, 100, 10);
            TrackData        trackData2 = new TrackData("DEF", 20000, 20000, 3000, timestamp, 100, 10);
            List <TrackData> trackDatas = new List <TrackData>
            {
                trackData1,
                trackData2
            };
            SeperationEvent seperationEvent = new SeperationEvent(timestamp, trackDatas, true);

            uut._currentSeperationEvents.Add(seperationEvent);

            uut.RemoveSeparationEvents();
            Assert.That(logger.ParametersList[0]._isRaised.Equals(seperationEvent._isRaised));
        }
        public void logging_LogInactiveSeperationEvent_MethodHasBeenCalled()
        {
            //Set up seperation event, that when checked, should be removed,
            //since the conditions for a seperation event no longer are true.
            TrackData        trackData1 = new TrackData("ABC", 10000, 10000, 1000, timestamp, 100, 10);
            TrackData        trackData2 = new TrackData("DEF", 20000, 20000, 3000, timestamp, 100, 10);
            List <TrackData> trackDatas = new List <TrackData>
            {
                trackData1,
                trackData2
            };
            SeperationEvent seperationEvent = new SeperationEvent(timestamp, trackDatas, true);

            uut._currentSeperationEvents.Add(seperationEvent);

            uut.RemoveSeparationEvents();
            Assert.That(logger.LogInactiveSeparationEvent_timesCalled.Equals(1));
        }
Exemple #22
0
        static void Main(string[] args)
        {
            var transponderDataReceiver = TransponderReceiverFactory.CreateTransponderDataReceiver();

            transponderDataReceiver.TransponderDataReady += OnTransponderDataReady;

            var eventRendition    = new EventRendition();
            var logWriter         = new LogWriter();
            var seperationEvent   = new SeperationEvent(logWriter, eventRendition);
            var trackRendition    = new TrackRendition();
            var trackUpdater      = new TrackUpdater(seperationEvent, trackRendition);
            var trackingFiltering = new TrackingFiltering(trackUpdater);

            var transponderParsing = new TransponderParsing(transponderDataReceiver, trackingFiltering);


            Console.ReadLine();
        }
Exemple #23
0
        static void Main(string[] args)
        {
            var myReciever = TransponderReceiverFactory.CreateTransponderDataReceiver();
            IConvertStringToDateTime convertStringToDateTime = new ConvertStringToDateTime();
            ICalculateVelocity       calculateVelocity       = new CalculateVelocity();
            ICalculateCourse         calculateCourse         = new CalculateCourse();
            IWriter           writer             = new ConsoleWriter();
            ILogWriter        logWriterToFile    = new LogWriter();
            ILogWriter        logWriterToConsole = new ConsoleSeperation();
            SeperationEvent   seperationEvent    = new SeperationEvent();
            IEventController  eventController    = new EventController(logWriterToFile, logWriterToConsole);
            ISeperationTracks seperationTracks   = new SeperationTracks(seperationEvent, eventController);
            ISortingTracks    sortingTracks      = new SortingTracks(calculateVelocity, calculateCourse, writer, seperationTracks);
            IFilterAirspace   filterAirspace     = new FilterAirspace(sortingTracks);
            IConvertTrackData convertTrackData   = new ConvertTrackData(myReciever, convertStringToDateTime, filterAirspace);

            Console.ReadKey();
        }
Exemple #24
0
        public void UpdateCurrEvent_EventExists_EventNotAdded(string tag1, string tag2)
        {
            Track track1 = new Track(tag1, 25000, 25000, 600, new DateTime());

            Track track2 = new Track(tag2, 25000, 25000, 600, new DateTime());

            _event = new SeperationEvent(track1, track2);

            _uut.CurrEvents = new List <IEvent>();
            _uut.CurrEvents.Add(_event);

            IEvent evnt = new SeperationEvent(track1, track2); //bad stuff

            //Act
            _uut.UpdateCurrEvent(evnt);

            //Assert
            Assert.That(_uut.CurrEvents.Count, Is.EqualTo(1));
        }
        public void ATMclass_TrackDatasAreInvolvedInSeperationEvent_IsInvolvedInSeperationEventReturnsTrue()
        {
            //Create 2 trackDatas that are in seperation event.
            TrackData trackData1 = new TrackData("ABC", xMin + 1, yMin + 1, zMin + 1, "180320180954", 200, 200);
            TrackData trackData2 = new TrackData("DEF", xMin + 2, yMin + 2, zMin + 2, "180320180954", 200, 200);

            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);

            uut._currentSeperationEvents.Add(seperationEvent);

            Assert.That(() => uut.CheckIfSeperationEventExistsFor(trackData1, trackData2).Equals(true));
        }
        public void setup()
        {
            fakeFileOutput    = Substitute.For <IFileOutput>();
            fakeConsoleOutput = Substitute.For <IConsoleOutput>();
            timeStamp         = "235928121999";
            td1 = new TrackData("ABC123", 10000, 10000, 1000, timeStamp, 100, 45, fakeConsoleOutput);
            td2 = new TrackData("DEF123", 10000, 10000, 1000, timeStamp, 100, 45, fakeConsoleOutput);
            td3 = new TrackData("XYZ123", 10000, 10000, 1000, timeStamp, 100, 45, fakeConsoleOutput);

            List <TrackData> tracks = new List <TrackData>()
            {
                td1,
                td2
            };

            uut_se  = new SeperationEvent(timeStamp, tracks, true, fakeConsoleOutput, fakeFileOutput);
            uut_tee = new TrackEnteredEvent(timeStamp, td1, true, fakeConsoleOutput, fakeFileOutput);
            uut_tle = new TrackLeftEvent(timeStamp, td1, true, fakeConsoleOutput, fakeFileOutput);
        }
Exemple #27
0
        public void Setup()
        {
            _seperationEvent = new SeperationEvent();
            _eventController = Substitute.For <IEventController>();
            _uut             = new SeperationTracks(_seperationEvent, _eventController);

            _date1 = new DateTime(2018, 4, 17, 20, 15, 12);
            _date2 = new DateTime(2018, 4, 17, 20, 15, 14);
            _date3 = new DateTime(2018, 4, 17, 20, 16, 26);

            _track1 = new Track
            {
                Tag         = "BIJ515",
                XCoordinate = 12345,
                YCoordinate = 54321,
                Altitude    = 17000,
                Timestamp   = _date1
            };

            _track2 = new Track
            {
                Tag         = "QWF639",
                XCoordinate = 12346,
                YCoordinate = 54322,
                Altitude    = 17299,
                Timestamp   = _date2
            };

            _track3 = new Track()
            {
                Tag         = "PXL968",
                XCoordinate = 12346,
                YCoordinate = 54322,
                Altitude    = 17299,
                Timestamp   = _date3
            };

            _myList = new List <Track>
            {
                _track1,
                _track2
            };
        }
Exemple #28
0
        public void CleanUpEvents_3Events2Raised_AfterCleanUpOnly2Remain()
        {
            //Test is done with seperation events, since the _isRaised-attribute of
            //TrackEnteredEvent and TrackLeftEvent goes false after a set amount of time, introducing possible errors
            List <TrackData> tracks = new List <TrackData>();

            tracks.Add(td1);
            tracks.Add(td2);
            SeperationEvent se1 = new SeperationEvent(timeStamp, tracks, true, fakeConsoleOutput, fakeFileOutput);
            SeperationEvent se2 = new SeperationEvent(timeStamp, tracks, true, fakeConsoleOutput, fakeFileOutput);
            SeperationEvent se3 = new SeperationEvent(timeStamp, tracks, false, fakeConsoleOutput, fakeFileOutput);

            uut.events.Add(se1);
            uut.events.Add(se2);
            uut.events.Add(se3);

            Assert.That(uut.events.Count.Equals(3));
            uut.cleanUpEvents();
            Assert.That(uut.events.Count.Equals(2));
        }
Exemple #29
0
        public void setup()
        {
            //Set up S's
            fakeConsoleOutput = Substitute.For<IConsoleOutput>();
            fakeFileOutput = Substitute.For<IFileOutput>();

            //Set up T's
            trackData1 = new TrackData("ABC123",10000,10000,1000,"201811071337000",42,10,fakeConsoleOutput);
            trackData1 = new TrackData("XYZ987", 10001, 10001, 1001, "201811071338000", 42, 10, fakeConsoleOutput);
            tracks = new List<TrackData>()
            {
                trackData1,
                trackData2
            };
            seperationEvent = new SeperationEvent("201811071337000",tracks,true, fakeConsoleOutput,fakeFileOutput);
            trackEnteredEvent = new TrackEnteredEvent(trackData1._TimeStamp,trackData1,true, fakeConsoleOutput, fakeFileOutput);
            trackLeftEvent = new TrackLeftEvent(trackData1._TimeStamp,trackData1,true, fakeConsoleOutput, fakeFileOutput);

            //Set up X's
        }
Exemple #30
0
        public void RenderEvents_SeperationEventInList_CorrectStringPrinted()
        {
            List <TrackData> tracks = new List <TrackData>();

            tracks.Add(td1);
            tracks.Add(td2);
            SeperationEvent se1 = new SeperationEvent(timeStamp, tracks, false, fakeConsoleOutput, fakeFileOutput);

            uut.events.Add(se1);

            string expectedString = se1.FormatData();

            //Console output did not receive anything before rendering
            fakeConsoleOutput.DidNotReceiveWithAnyArgs().Print("Any string");

            uut.RenderEvents();

            //Console output received the expected string
            fakeConsoleOutput.Received().Print(Arg.Is <string>(str => str.Contains(expectedString)));
        }