예제 #1
0
        public void IsConflicting_PositionXCoor_ReceivedCorrect()
        {
            _newTracks.Add(Substitute.For <ITrackObject>());

            _listHandler.Renew(_newTracks);
            _listHandler.Update(_newTracks);

            _uut.IsConflicting(_newTracks[0], _listHandler.CurrentTracks[0], _distance);

            var temp = _newTracks[0].Position.Received().XCoor;
        }
예제 #2
0
        public string CurrentSeperationEvents(string filenameToLogTo = "separationlog.txt")
        {
            string title = "Current separation events:";

            StringBuilder info = new StringBuilder();

            for (int i = 0; i < CurrentTracks.Count; i++)
            {
                var trackOne = CurrentTracks[i];

                for (int j = i + 1; j < CurrentTracks.Count; j++)
                {
                    var trackTwo = CurrentTracks[j];

                    if (_separation.IsConflicting(trackOne, trackTwo, _distance))
                    {
                        string trackInfo =
                            $"{trackOne.Tag} and {trackTwo.Tag} at {trackOne.Timestamp}";

                        info.Append(trackInfo + "\n");

                        LogSeperationEvent(trackInfo, filenameToLogTo);
                    }
                }
            }

            if (info.Length == 0)
            {
                return(title + "\n" + "No current events detected\n");
            }

            return(title + "\n" + info);
        }
예제 #3
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());
        }
예제 #4
0
        public void Distance_DistanceThreeDim_ReturnsResult(int t1X, int t1Y, int t1Alt, int t2X, int t2Y,
                                                            int t2Alt, bool result)
        {
            _oldObj.Position.XCoor.Returns(t1X);
            _oldObj.Position.YCoor.Returns(t1Y);
            _oldObj.Position.Altitude.Returns(t1Alt);

            _newObj.Position.XCoor.Returns(t2X);
            _newObj.Position.YCoor.Returns(t2Y);
            _newObj.Position.Altitude.Returns(t2Alt);

            Assert.AreEqual(result, _uut.IsConflicting(_oldObj, _newObj, _distance));
        }