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); }
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); }