public void Setup() { _trackOne = Substitute.For<ITrackObject>(); _listHandler = Substitute.For<IListHandler>(); _objectifier = Substitute.For<ITrackList>(); _uut = new ATMSystem(_objectifier, _listHandler); _trackOne.Tag.Returns("HDJ232"); _trackOne.Position.XCoor.Returns(45201); _trackOne.Position.YCoor.Returns(78452); _trackOne.Position.Altitude.Returns(4500); _trackOne.Timestamp.Returns("April 23rd, 2018, at 23:55:32 and 339 milliseconds"); _trackOne.Velocity.Returns(150); _trackOne.Course.Returns(90); _trackOne.ToString() .Returns ("Tag:\t\t" + "HDJ232" + "\n" + "X coordinate:\t" + 45201 + " meters \n" + "Y coordinate:\t" + 78452 + " meters\n" + "Altitide:\t" + 4500 + " meters\n" + "Timestamp:\t" + "April 23rd, 2018, at 23:55:32 and 339 milliseconds" + "\n" + "Velocity:\t" + 150 + " m/s\n" + "Course:\t\t" + 90 + " degrees\n"); _argList = new List<ITrackObject> { _trackOne }; _args = new TrackListUpdatedArgs(_argList); }
public void ListHandler_LogTwoEvents_ReceivedEventTwoCorrect() { string filename = "test.txt"; string expectedOutput = "HDJ232 and DSO458 at April 23rd, 2018, at 23:55:32 and 339 milliseconds\r\n" + "HDJ232 and UDS323 at April 23rd, 2018, at 23:55:32 and 339 milliseconds\r\n"; StreamWriter strm = File.CreateText(filename); strm.Flush(); strm.Close(); InitiateNewList(); ITrackObject trackThree = Substitute.For <ITrackObject>(); trackThree.Tag.Returns("UDS323"); _newTracks.Add(trackThree); _uut.Initiate(_newTracks); _separation.IsConflicting(_uut.CurrentTracks[0], _uut.CurrentTracks[1], _distance).Returns(true); _separation.IsConflicting(_uut.CurrentTracks[0], _uut.CurrentTracks[2], _distance).Returns(true); _uut.CurrentSeperationEvents(filename); string contents = File.ReadAllText(filename); Assert.AreEqual(expectedOutput, contents); }
public bool IsConflicting(ITrackObject trackOne, ITrackObject trackTwo, IDistance distance) { trackOne.Position.SetPosition(trackOne.Position.XCoor, trackOne.Position.YCoor, trackOne.Position.Altitude); trackTwo.Position.SetPosition(trackTwo.Position.XCoor, trackTwo.Position.YCoor, trackTwo.Position.Altitude); double horizontalDistance = distance.DistanceTwoDim(trackTwo.Position, trackOne.Position); int verticalDistance = distance.DistanceOneDim(trackTwo.Position.Altitude, trackOne.Position.Altitude); return(horizontalDistance <= horizontalConflict && verticalDistance <= verticalConflict); }
public void Setup() { _position = Substitute.For <IPosition>(); _position.XCoor.Returns(50456); _position.YCoor.Returns(78455); _position.Altitude.Returns(7852); _time = "December 1st, 2018, at 11:11:11 and 111 milliseconds"; _dateTime = new DateTime(2018, 11, 11, 11, 11, 11, 111); _uut = new TrackObject("KVK7896", _position, _time, _dateTime); }
public void Setup() { _position = Substitute.For <IPosition>(); _inDateTime = new DateTime(); _uut = new TrackObject("123ABC", _position, "20181111111111111", _inDateTime); _newTracks = new List <ITrackObject>(); _velocity = Substitute.For <IVelocity>(); _course = Substitute.For <ICourse>(); _separation = Substitute.For <ISeparation>(); _distance = Substitute.For <IDistance>(); _listHandler = new ListHandler(_velocity, _course, _separation, _distance); }
public int CurrentVelocity(ITrackObject newTrack, ITrackObject oldTrack, IDistance dist) { TimeSpan diff = newTrack.InDateTime - oldTrack.InDateTime; if ((int)diff.TotalMilliseconds == 0) { return(0); } return((int)(dist.DistanceTwoDim(newTrack.Position, oldTrack.Position) / diff.TotalMilliseconds * 1000)); }
public void Setup() { _uut = new Separation(); /**************************** * // THIS MUST BE SUB - NEED FIX - ELSE OK *****************************/ _distance = new Distance(); _oldObj = Substitute.For <ITrackObject>(); _newObj = Substitute.For <ITrackObject>(); }
public void Setup() { _testCalculateVelocity = new Velocity(); _distance = new Distance(); /**************************** * // THIS MUST BE SUB - NEED FIX - ELSE OK *****************************/ _oldObj = Substitute.For <ITrackObject>(); _newObj = Substitute.For <ITrackObject>(); }
public void ListHandler_UpdateCourse_ReceivedCorrect() { _newTracks.Add(Substitute.For <ITrackObject>()); ITrackObject trackOne = Substitute.For <ITrackObject>(); trackOne.Tag.Returns("HDJ232"); // Renew to update _uut.Renew(_newTracks); _uut.Update(_newTracks); _course.Received().CurrentCourse(_newTracks[0].Position, _uut.CurrentTracks[0].Position, _distance); }
public void ListHandler_UpdateVelocity_ReceivedCorrect() { _newTracks.Add(Substitute.For <ITrackObject>()); ITrackObject trackOne = Substitute.For <ITrackObject>(); trackOne.Tag.Returns("HDJ232"); // Renew to update _uut.Renew(_newTracks); _uut.Update(_newTracks); _velocity.Received().CurrentVelocity(_newTracks[0], _uut.CurrentTracks[0], _distance); }
public void ListHandler_CurrentSeperationEvents_Received() { InitiateNewList(); ITrackObject trackThree = Substitute.For <ITrackObject>(); trackThree.Tag.Returns("HAJ232"); _newTracks.Add(trackThree); _uut.Initiate(_newTracks); _uut.CurrentSeperationEvents(); _separation.Received().IsConflicting(_uut.CurrentTracks[0], _uut.CurrentTracks[1], _distance); }
public void InitiateNewList() { ITrackObject trackOne = Substitute.For <ITrackObject>(); trackOne.Tag.Returns("HDJ232"); trackOne.Position.XCoor.Returns(45201); trackOne.Position.YCoor.Returns(78452); trackOne.Position.Altitude.Returns(4500); trackOne.Timestamp.Returns("April 23rd, 2018, at 23:55:32 and 339 milliseconds"); trackOne.Velocity.Returns(150); trackOne.Course.Returns(90); trackOne.ToString() .Returns ("Tag:\t\t" + "HDJ232" + "\n" + "X coordinate:\t" + 45201 + " meters \n" + "Y coordinate:\t" + 78452 + " meters\n" + "Altitide:\t" + 4500 + " meters\n" + "Timestamp:\t" + "April 23rd, 2018, at 23:55:32 and 339 milliseconds" + "\n" + "Velocity:\t" + 150 + " m/s\n" + "Course:\t\t" + 90 + " degrees\n"); ITrackObject trackTwo = Substitute.For <ITrackObject>(); trackTwo.Tag.Returns("DSO458"); trackTwo.Position.XCoor.Returns(45300); trackTwo.Position.YCoor.Returns(78450); trackTwo.Position.Altitude.Returns(7895); trackTwo.Timestamp.Returns("April 23rd, 2018, at 23:55:32 and 339 milliseconds"); trackTwo.Velocity.Returns(300); trackTwo.Course.Returns(300); trackTwo.ToString() .Returns ("Tag:\t\t" + "DSO0458" + "\n" + "X coordinate:\t" + 45300 + " meters \n" + "Y coordinate:\t" + 78450 + " meters\n" + "Altitide:\t" + 7895 + " meters\n" + "Timestamp:\t" + "April 23rd, 2018, at 23:55:32 and 339 milliseconds" + "\n" + "Velocity:\t" + 300 + " m/s\n" + "Course:\t\t" + 300 + " degrees\n"); _newTracks.Add(trackOne); _newTracks.Add(trackTwo); }
public void ListHandler_CurrentSeperationEvents_NoEventsDetected() { string expectedReturn = "Current separation events:\nNo current events detected\n"; InitiateNewList(); ITrackObject trackThree = Substitute.For <ITrackObject>(); trackThree.Tag.Returns("HAJ232"); _newTracks.Add(trackThree); _uut.Initiate(_newTracks); _separation.IsConflicting(_uut.CurrentTracks[0], _uut.CurrentTracks[1], _distance).Returns(false); _uut.CurrentSeperationEvents(); Assert.AreEqual(expectedReturn, _uut.CurrentSeperationEvents()); }
public void ListHandler_CurrentSeperationEvents_EventsDetected() { string expectedReturn = "Current separation events:\n" + "HDJ232 and KDS328 at April 23rd, 2018, at 23:55:32 and 339 milliseconds\n"; InitiateNewList(); ITrackObject trackThree = Substitute.For <ITrackObject>(); trackThree.Tag.Returns("KDS328"); _newTracks.Add(trackThree); _uut.Initiate(_newTracks); _separation.IsConflicting(_uut.CurrentTracks[0], _uut.CurrentTracks[2], _distance).Returns(true); _uut.CurrentSeperationEvents(); Assert.AreEqual(expectedReturn, _uut.CurrentSeperationEvents()); }