Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 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);
 }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
        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>();
        }
Esempio n. 8
0
        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>();
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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());
        }
Esempio n. 14
0
        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());
        }