avocado/packages/timing/test/lfo.js

26 lines
553 B
JavaScript
Raw Normal View History

2021-01-05 02:47:30 -06:00
import {expect} from 'chai';
2021-02-04 00:03:54 -06:00
import LfoResult from '../src/lfo/result';
it('can do linear oscillation', () => {
const object = {x: 0};
const result = new LfoResult(
object,
{
x: {
frequency: 1,
magnitude: 100,
median: 50,
},
},
);
result.tick(0.1);
2022-03-27 02:33:55 -05:00
expect(object.x).to.be.closeTo(70, 0.001);
2021-02-04 00:03:54 -06:00
result.tick(0.5);
2022-03-27 02:33:55 -05:00
expect(object.x).to.be.closeTo(30, 0.001);
2021-02-04 00:03:54 -06:00
result.tick(0.25);
2022-03-27 02:33:55 -05:00
expect(object.x).to.be.closeTo(20, 0.001);
2021-02-04 00:03:54 -06:00
result.tick(0.4);
2022-03-27 02:33:55 -05:00
expect(object.x).to.be.closeTo(100, 0.001);
2021-01-05 02:47:30 -06:00
});