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