コード例 #1
0
        public void TestThatHeadingIsCalculatedUsingFunc()
        {
            // ARRANGE
            var testContact      = ContactFactory.Create(SensorUnderTest, new PointF(100, 100), 360.0, 1200.00, 200.00, ContactTypes.AirFriendly);
            var simulationObject = new ContactManagement(testContact, .99F, 1.0F);
            var expectedHeading  = 270.00;

            // ACT
            var newSpeed   = simulationObject.ProposedSpeed;
            var newHeading = simulationObject.GetProposedHeading(() => { return(270.00); });

            // ASSERT
            Assert.AreEqual(testContact.Speed, newSpeed);
            Assert.AreEqual(expectedHeading, newHeading);
        }
コード例 #2
0
        public void TestThatHeadingIsCalculatedUsingFuncThatUsesAverageOfPreviousPositions()
        {
            // ARRANGE
            var testContact      = ContactFactory.Create(SensorUnderTest, new PointF(100, 100), 360.0, 1200.00, 200.00, ContactTypes.AirFriendly);
            var simulationObject = new ContactManagement(testContact, .99F, 1.0F);

            simulationObject.PreviousPositions.AddRange(new PointF[] { new PointF(1.1F, 1.1F), new PointF(2.1F, 1.1F), new PointF(3.1F, 1.1F) });
            var expectedHeading = 270.00;

            // ACT
            var newSpeed   = simulationObject.ProposedSpeed;
            var newHeading = simulationObject.GetProposedHeading(() => { return(simulationObject.PreviousPositions.Average(pp => pp.GetRelativePosition(testContact.DetectedBy.ViewPortExtent).GetPolarCoord().Degrees)); });

            // ASSERT
            Assert.AreEqual(testContact.Speed, newSpeed);
            Assert.AreNotEqual(expectedHeading, newHeading);
        }