UNPKG

@drozdik.m/lerp

Version:
287 lines (286 loc) 8.6 kB
exports.__esModule = true; var unit_test_1 = require("@drozdik.m/unit-test"); var Linear_1 = require("../Linear"); var EaseInCirc_1 = require("../EaseInCirc"); var EaseInCubic_1 = require("../EaseInCubic"); var EaseOutSine_1 = require("../EaseOutSine"); var EaseOutQuint_1 = require("../EaseOutQuint"); var EaseOutQuart_1 = require("../EaseOutQuart"); var EaseOutQuad_1 = require("../EaseOutQuad"); var EaseOutExpo_1 = require("../EaseOutExpo"); var EaseOutCubic_1 = require("../EaseOutCubic"); var EaseOutCirc_1 = require("../EaseOutCirc"); var EaseInSine_1 = require("../EaseInSine"); var EaseInQuint_1 = require("../EaseInQuint"); var EaseInQuart_1 = require("../EaseInQuart"); var EaseInQuad_1 = require("../EaseInQuad"); var EaseInOutSine_1 = require("../EaseInOutSine"); var EaseInOutQuint_1 = require("../EaseInOutQuint"); var EaseInOutQuart_1 = require("../EaseInOutQuart"); var EaseInOutQuad_1 = require("../EaseInOutQuad"); var EaseInOutExpo_1 = require("../EaseInOutExpo"); var EaseInOutCubic_1 = require("../EaseInOutCubic"); var EaseInOutCirc_1 = require("../EaseInOutCirc"); var EaseInExpo_1 = require("../EaseInExpo"); var unitTest = new unit_test_1.UnitTest("Lerp"); function Interpolate(from, to, lerp, callback) { //let interpolationValue = 0.01; var targetVal = to; var currentFrame = 0; var duration = 1000; var timeBetweenFrames = 10; var animationFrame = function () { //console.log("Frame: " + currentFrame); currentFrame += timeBetweenFrames; var interpolationValue = lerp(from, targetVal, currentFrame, duration); //console.log(" value: " + interpolationValue); if (currentFrame < duration) setTimeout(animationFrame, timeBetweenFrames); else callback(interpolationValue); }; animationFrame(); } unitTest.AddAsyncTestCase("Linear", function (Done, Fail) { Interpolate(0, 500, Linear_1.Linear, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInCirc", function (Done, Fail) { Interpolate(0, 500, EaseInCirc_1.EaseInCirc, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInCubic", function (Done, Fail) { Interpolate(0, 500, EaseInCubic_1.EaseInCubic, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInExpo", function (Done, Fail) { Interpolate(0, 500, EaseInExpo_1.EaseInExpo, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInOutCirc", function (Done, Fail) { Interpolate(0, 500, EaseInOutCirc_1.EaseInOutCirc, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInOutCubic", function (Done, Fail) { Interpolate(0, 500, EaseInOutCubic_1.EaseInOutCubic, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInOutExpo", function (Done, Fail) { Interpolate(0, 500, EaseInOutExpo_1.EaseInOutExpo, function (val) { try { unit_test_1.Assert.AreEqual(500, Math.round(val)); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInOutQuad", function (Done, Fail) { Interpolate(0, 500, EaseInOutQuad_1.EaseInOutQuad, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInOutQuart", function (Done, Fail) { Interpolate(0, 500, EaseInOutQuart_1.EaseInOutQuart, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInOutQuint", function (Done, Fail) { Interpolate(0, 500, EaseInOutQuint_1.EaseInOutQuint, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInOutSine", function (Done, Fail) { Interpolate(0, 500, EaseInOutSine_1.EaseInOutSine, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInQuad", function (Done, Fail) { Interpolate(0, 500, EaseInQuad_1.EaseInQuad, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInQuart", function (Done, Fail) { Interpolate(0, 500, EaseInQuart_1.EaseInQuart, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInQuint", function (Done, Fail) { Interpolate(0, 500, EaseInQuint_1.EaseInQuint, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseInSine", function (Done, Fail) { Interpolate(0, 500, EaseInSine_1.EaseInSine, function (val) { try { unit_test_1.Assert.AreEqual(500, Math.round(val)); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseOutCirc", function (Done, Fail) { Interpolate(0, 500, EaseOutCirc_1.EaseOutCirc, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseOutCubic", function (Done, Fail) { Interpolate(0, 500, EaseOutCubic_1.EaseOutCubic, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseOutExpo", function (Done, Fail) { Interpolate(0, 500, EaseOutExpo_1.EaseOutExpo, function (val) { try { unit_test_1.Assert.AreEqual(500, Math.round(val)); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseOutQuad", function (Done, Fail) { Interpolate(0, 500, EaseOutQuad_1.EaseOutQuad, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseOutQuart", function (Done, Fail) { Interpolate(0, 500, EaseOutQuart_1.EaseOutQuart, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseOutQuint", function (Done, Fail) { Interpolate(0, 500, EaseOutQuint_1.EaseOutQuint, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.AddAsyncTestCase("EaseOutSine", function (Done, Fail) { Interpolate(0, 500, EaseOutSine_1.EaseOutSine, function (val) { try { unit_test_1.Assert.AreEqual(500, val); Done(); } catch (_a) { Fail(); } }); }); unitTest.Run();