@technobuddha/library
Version:
A large library of useful functions
60 lines (55 loc) • 2.28 kB
text/typescript
import { lerp } from './lerp.ts';
describe('lerp', () => {
test('converts left to right range', () => {
expect(lerp(0, 10, 0.0)).toBeCloseTo(0);
expect(lerp(0, 10, 0.1)).toBeCloseTo(1);
expect(lerp(0, 10, 0.2)).toBeCloseTo(2);
expect(lerp(0, 10, 0.3)).toBeCloseTo(3);
expect(lerp(0, 10, 0.4)).toBeCloseTo(4);
expect(lerp(0, 10, 0.5)).toBeCloseTo(5);
expect(lerp(0, 10, 0.6)).toBeCloseTo(6);
expect(lerp(0, 10, 0.7)).toBeCloseTo(7);
expect(lerp(0, 10, 0.8)).toBeCloseTo(8);
expect(lerp(0, 10, 0.9)).toBeCloseTo(9);
expect(lerp(0, 10, 1.0)).toBeCloseTo(10);
});
test('converts right to left range', () => {
expect(lerp(0, -10, 0.0)).toBeCloseTo(-0);
expect(lerp(0, -10, 0.1)).toBeCloseTo(-1);
expect(lerp(0, -10, 0.2)).toBeCloseTo(-2);
expect(lerp(0, -10, 0.3)).toBeCloseTo(-3);
expect(lerp(0, -10, 0.4)).toBeCloseTo(-4);
expect(lerp(0, -10, 0.5)).toBeCloseTo(-5);
expect(lerp(0, -10, 0.6)).toBeCloseTo(-6);
expect(lerp(0, -10, 0.7)).toBeCloseTo(-7);
expect(lerp(0, -10, 0.8)).toBeCloseTo(-8);
expect(lerp(0, -10, 0.9)).toBeCloseTo(-9);
expect(lerp(0, -10, 1.0)).toBeCloseTo(-10);
});
test('converts negative portion', () => {
expect(lerp(0, 10, -0.0)).toBeCloseTo(-0);
expect(lerp(0, 10, -0.1)).toBeCloseTo(-1);
expect(lerp(0, 10, -0.2)).toBeCloseTo(-2);
expect(lerp(0, 10, -0.3)).toBeCloseTo(-3);
expect(lerp(0, 10, -0.4)).toBeCloseTo(-4);
expect(lerp(0, 10, -0.5)).toBeCloseTo(-5);
expect(lerp(0, 10, -0.6)).toBeCloseTo(-6);
expect(lerp(0, 10, -0.7)).toBeCloseTo(-7);
expect(lerp(0, 10, -0.8)).toBeCloseTo(-8);
expect(lerp(0, 10, -0.9)).toBeCloseTo(-9);
expect(lerp(0, 10, -1.0)).toBeCloseTo(-10);
});
test('zero width range', () => {
expect(lerp(0, 0, 0.0)).toBeCloseTo(0);
expect(lerp(0, 0, 0.1)).toBeCloseTo(0);
expect(lerp(0, 0, 0.2)).toBeCloseTo(0);
expect(lerp(0, 0, 0.3)).toBeCloseTo(0);
expect(lerp(0, 0, 0.4)).toBeCloseTo(0);
expect(lerp(0, 0, 0.5)).toBeCloseTo(0);
expect(lerp(0, 0, 0.6)).toBeCloseTo(0);
expect(lerp(0, 0, 0.7)).toBeCloseTo(0);
expect(lerp(0, 0, 0.8)).toBeCloseTo(0);
expect(lerp(0, 0, 0.9)).toBeCloseTo(0);
expect(lerp(0, 0, 1.0)).toBeCloseTo(0);
});
});