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