public void BrakingForceIsProportionalToVelocity(Vector2 velocity0, Vector2 velocity1) { var forceCalculator = new VehicleForces(constants.Object); var brakePedal = 1.0f; var force0 = forceCalculator.GetBrakingForce(brakePedal, velocity0); var force1 = forceCalculator.GetBrakingForce(brakePedal, velocity1); var ratio = force1.Length() / force0.Length(); Assert.True(ratio >= 1); }
public void BrakingForceIsProportionalToBrakePedal(float brakePedal0, float brakePedal1) { var forceCalculator = new VehicleForces(constants.Object); var velocity = new Vector2(0, 28); var force0 = forceCalculator.GetBrakingForce(brakePedal0, velocity); var force1 = forceCalculator.GetBrakingForce(brakePedal1, velocity); var ratio = force1.Length() / force0.Length(); var ratioIsGreaterThanOne = ratio > 1; var ratioEqualsOne = Math.Abs(1 - ratio) < float.Epsilon; var brakePedalRatiosAreEqual = Math.Abs(brakePedal1 - brakePedal0) < float.Epsilon; // The ratio is either greater than one OR the ratio is one if and // only if the brake pedal ratios are equal. Assert.True(ratioIsGreaterThanOne || ((ratioEqualsOne && brakePedalRatiosAreEqual) || (!ratioEqualsOne && !brakePedalRatiosAreEqual))); }