public void ConsiderLimiterMode() {
var testDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
while (!testDir.EndsWith("AcTools.Tests") && testDir.Length > 4) testDir = Path.GetDirectoryName(testDir);
testDir = Path.Combine(testDir, "test");
var data = new DataDirectoryWrapper(Path.Combine(testDir, "physics", "two_points"));
var notConsider = TorquePhysicUtils.LoadCarTorque(data, false, 0);
Assert.AreEqual(160, notConsider.InterpolateLinear(3000d), 0.1);
Assert.AreEqual(200d, notConsider.InterpolateLinear(5000d), 0.1);
var consider = TorquePhysicUtils.LoadCarTorque(data, true, 0);
Assert.AreEqual(156.3d, consider.InterpolateLinear(3000d), 0.1);
Assert.AreEqual(156.3d, consider.InterpolateLinear(5000d), 0.1);
var notConsiderDetailed = TorquePhysicUtils.LoadCarTorque(data, false);
Assert.AreEqual(156.3d, notConsiderDetailed.InterpolateLinear(3000d), 0.1);
Assert.AreEqual(200d, notConsiderDetailed.InterpolateLinear(5000d), 0.1);
var considerDetailed = TorquePhysicUtils.LoadCarTorque(data);
Assert.AreEqual(156.3d, considerDetailed.InterpolateLinear(3000d), 0.1);
Assert.AreEqual(156.3d, considerDetailed.InterpolateLinear(5000d), 0.1);
}
}