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 }; }
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(); }
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 }; }
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); }
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")); }
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)); }
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)); }
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)); }
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)); }
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)); }
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" }; }
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)); }
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 }
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)); }
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(); }
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(); }
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); }
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 }; }
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)); }
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 }
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))); }