2021-07-09 22:45:04 +08:00
|
|
|
/*
|
2024-09-09 21:57:16 +08:00
|
|
|
Copyright 2024 New Vector Ltd.
|
2021-07-09 22:45:04 +08:00
|
|
|
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
|
|
|
|
|
2024-09-09 21:57:16 +08:00
|
|
|
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
|
|
|
|
Please see LICENSE files in the repository root for full details.
|
2021-07-09 22:45:04 +08:00
|
|
|
*/
|
|
|
|
|
|
|
|
import { lerp } from "../../src/utils/AnimationUtils";
|
|
|
|
|
|
|
|
describe("lerp", () => {
|
|
|
|
it("correctly interpolates", () => {
|
|
|
|
expect(lerp(0, 100, 0.5)).toBe(50);
|
|
|
|
expect(lerp(50, 100, 0.5)).toBe(75);
|
|
|
|
expect(lerp(0, 1, 0.1)).toBe(0.1);
|
|
|
|
});
|
|
|
|
|
|
|
|
it("clamps the interpolant", () => {
|
|
|
|
expect(lerp(0, 100, 50)).toBe(100);
|
|
|
|
expect(lerp(0, 100, -50)).toBe(0);
|
|
|
|
});
|
|
|
|
|
|
|
|
it("handles negative numbers", () => {
|
|
|
|
expect(lerp(-100, 0, 0.5)).toBe(-50);
|
|
|
|
expect(lerp(100, -100, 0.5)).toBe(0);
|
|
|
|
});
|
|
|
|
});
|