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

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

            _uut.DistanceTwoDim(_newTracks[0].Position, _listHandler.CurrentTracks[0].Position);

            var temp = _newTracks[0].Position.Received().XCoor;
        }
예제 #2
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);
        }
예제 #3
0
        public void Distance_DistanceTwoDim_ReturnsResult(int t1X, int t1Y, int t2X, int t2Y, double result)
        {
            _oldPos.XCoor.Returns(t1X);
            _oldPos.YCoor.Returns(t1Y);
            _oldPos.Altitude.Returns(3000);

            _newPos.XCoor.Returns(t2X);
            _newPos.YCoor.Returns(t2Y);
            _newPos.Altitude.Returns(3000);

            Assert.AreEqual(result, _uut.DistanceTwoDim(_newPos, _oldPos));
        }
예제 #4
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));
        }