15 lines
905 B
TypeScript
15 lines
905 B
TypeScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import { flashlightAfterSunUpdate } from '../src/controls/flashlight.ts';
|
|
|
|
test('sunset enables the flashlight once, preserves manual off, and resets at dawn', () => {
|
|
assert.equal(flashlightAfterSunUpdate(false, undefined, 20), false);
|
|
assert.equal(flashlightAfterSunUpdate(false, 1, -0.1), false, 'wait until the solar disc has set');
|
|
assert.equal(flashlightAfterSunUpdate(false, -0.1, -1), true);
|
|
assert.equal(flashlightAfterSunUpdate(false, -1, -2), false, 'manual off survives time updates');
|
|
assert.equal(flashlightAfterSunUpdate(true, -2, -3), true);
|
|
assert.equal(flashlightAfterSunUpdate(true, -3, 1), false);
|
|
assert.equal(flashlightAfterSunUpdate(false, 1, -1), true, 'next night enables again');
|
|
assert.equal(flashlightAfterSunUpdate(false, undefined, -10), true, 'nighttime arrival enables the torch');
|
|
});
|