public void TestInterpolation() { { var one = new OuterComponent { @float = new FloatProperty(1.0f), vector = new VectorProperty(Vector3.one) }; var two = new OuterComponent { @float = new FloatProperty(2.0f), vector = new VectorProperty(Vector3.zero) }; var interpolated = new OuterComponent(); Interpolator.InterpolateInto(one, two, interpolated, 0.5f); Assert.AreEqual(1.5f, [email protected], 1e-6f); Assert.AreEqual(new Vector3(0.5f, 0.5f, 0.5f), interpolated.vector.Value); } { var one = new CyclicComponent { @float = new FloatProperty(0.9f) }; var two = new CyclicComponent { @float = new FloatProperty(0.3f) }; var interpolated = new CyclicComponent(); Interpolator.InterpolateInto(one, two, interpolated, 0.5f); Assert.AreEqual(0.1f, [email protected], 1e-6f); } }