@spearwolf/twopoint5d
Version:
a library to create 2.5d realtime graphics and pixelart with three.js
128 lines • 4.44 kB
JavaScript
import { describe, expect, it } from 'vitest';
import { Chronometer } from './Chronometer.js';
describe('Chronometer', () => {
it('create', () => {
const chronus = new Chronometer(1975);
expect(chronus.timeStart).toBe(1975);
expect(chronus.deltaTime).toBe(0);
expect(chronus.time).toBe(0);
});
it('c, update', () => {
const chronus = new Chronometer(3000);
chronus.update(4000);
expect(chronus.isRunning).toBe(true);
expect(chronus.deltaTime).toBe(1000);
expect(chronus.time).toBe(1000);
expect(chronus.lostTime).toBe(0);
});
it('c, u, update', () => {
const chronus = new Chronometer(3000);
chronus.update(4000);
chronus.update(4500);
expect(chronus.isRunning).toBe(true);
expect(chronus.deltaTime).toBe(500);
expect(chronus.time).toBe(1500);
expect(chronus.lostTime).toBe(0);
});
it('c, u, u, stop', () => {
const chronus = new Chronometer(3000);
chronus.update(4000);
chronus.update(4500);
chronus.stop();
expect(chronus.isRunning).toBe(false);
expect(chronus.deltaTime).toBe(500);
expect(chronus.time).toBe(1500);
expect(chronus.lostTime).toBe(0);
});
it('c, u, u, stop, start', () => {
const chronus = new Chronometer(3000);
chronus.update(4000);
chronus.update(4500);
chronus.stop();
chronus.start();
expect(chronus.isRunning).toBe(true);
expect(chronus.deltaTime).toBe(500);
expect(chronus.time).toBe(1500);
expect(chronus.lostTime).toBe(0);
});
it('c, u, u, stop, update', () => {
const chronus = new Chronometer(3000);
chronus.update(4000);
chronus.update(4500);
chronus.stop();
chronus.update(5200);
expect(chronus.isRunning).toBe(false);
expect(chronus.deltaTime).toBe(500);
expect(chronus.time).toBe(1500);
expect(chronus.lostTime).toBe(700);
});
it('c, u, u, stop, u, update', () => {
const chronus = new Chronometer(3000);
chronus.update(4000);
chronus.update(4500);
chronus.stop();
chronus.update(5200);
chronus.update(5350);
expect(chronus.isRunning).toBe(false);
expect(chronus.deltaTime).toBe(500);
expect(chronus.time).toBe(1500);
expect(chronus.lostTime).toBe(850);
});
it('c, u, u, stop, u, u, start', () => {
const chronus = new Chronometer(3000);
chronus.update(4000);
chronus.update(4500);
chronus.stop();
chronus.update(5200);
chronus.update(5350);
chronus.start();
expect(chronus.isRunning).toBe(true);
expect(chronus.deltaTime).toBe(500);
expect(chronus.time).toBe(1500);
expect(chronus.lostTime).toBe(850);
});
it('c, u, u, stop, u, u, start, stop', () => {
const chronus = new Chronometer(3000);
chronus.update(4000);
chronus.update(4500);
chronus.stop();
chronus.update(5200);
chronus.update(5350);
chronus.start();
chronus.stop();
expect(chronus.isRunning).toBe(false);
expect(chronus.deltaTime).toBe(500);
expect(chronus.time).toBe(1500);
expect(chronus.lostTime).toBe(850);
});
it('c, u, u, stop, u, u, start, update', () => {
const chronus = new Chronometer(3000);
chronus.update(4000);
chronus.update(4500);
chronus.stop();
chronus.update(5200);
chronus.update(5350);
chronus.start();
chronus.update(6000);
expect(chronus.isRunning).toBe(true);
expect(chronus.deltaTime).toBe(650);
expect(chronus.time).toBe(2150);
expect(chronus.lostTime).toBe(850);
});
it('c, u, u, stop, u, u, start, u, update', () => {
const chronus = new Chronometer(3000);
chronus.update(4000);
chronus.update(4500);
chronus.stop();
chronus.update(5200);
chronus.update(5350);
chronus.start();
chronus.update(6000);
chronus.update(6066);
expect(chronus.isRunning).toBe(true);
expect(chronus.deltaTime).toBe(66);
expect(chronus.time).toBe(2216);
expect(chronus.lostTime).toBe(850);
});
});
//# sourceMappingURL=Chronometer.spec.js.map