Rasagar/Library/PackageCache/com.unity.cinemachine/Tests/Editor/DampingTests.cs
2024-08-26 23:07:20 +03:00

38 lines
1.3 KiB
C#

using NUnit.Framework;
namespace Tests.Editor
{
[TestFixture]
public class DampingTests
{
[Test]
public void DampFloat()
{
const float dampTime = 10f;
const float initial = 100f;
float[] fixedFactor = new float[3] {0.79f, 0f, 1.07f};
for (int f = 0; f < fixedFactor.Length; ++f)
{
float t = 0;
float r = Cinemachine.Utility.Damper.Damp(initial, dampTime, t);
Assert.That(r, Is.EqualTo(0f));
Assert.That(r, Is.LessThan(initial));
const int iterations = 10;
for (int i = 0; i < iterations; ++i)
{
t += dampTime / iterations;
float fdt = fixedFactor[f] * t;
string msg = $"i = {i}, t = {t}, fdt = {fdt}";
if (i != iterations - 1)
Assert.That(t, Is.LessThan(dampTime), msg);
else
t = dampTime;
float r2 = Cinemachine.Utility.Damper.Damp(initial, dampTime, t);
Assert.That(r, Is.LessThan(r2), msg);
r = r2;
}
//Assert.AreEqual(initial * (1 - MathHelpers.kNegligibleResidual), r, "f = " + f);
}
}
}
}