24 lines
966 B
JavaScript
24 lines
966 B
JavaScript
const test = require('node:test');
|
|
const assert = require('node:assert');
|
|
const { trends } = require('../src/trends');
|
|
|
|
const p = (birth_date, birth_time, sex, weight_g, length_cm) => ({ birth_date, birth_time, sex, weight_g, length_cm });
|
|
|
|
test('valeurs arrondies et imprécises', () => {
|
|
const t = trends([
|
|
p('2026-11-18', '03:10', 'F', 3280, 49.5),
|
|
p('2026-11-20', '04:20', 'F', 3410, 50.5),
|
|
p('2026-11-22', '02:00', 'M', 3530, 51),
|
|
]);
|
|
assert.deepStrictEqual(t, { sex: 'F', week: '2026-11-16', time: 'night', weight_g: 3400, length_cm: 50 });
|
|
});
|
|
|
|
test("l'heure moyenne passe par minuit", () => {
|
|
assert.strictEqual(trends([p('2026-11-20', '23:00', 'F', 3000, 50), p('2026-11-20', '01:00', 'M', 3000, 50)]).time, 'night');
|
|
});
|
|
|
|
test('avis partagés', () => {
|
|
const t = trends([p('2026-11-20', '08:00', 'F', 3000, 50), p('2026-11-20', '20:00', 'M', 3000, 50)]);
|
|
assert.strictEqual(t.sex, 'split');
|
|
assert.strictEqual(t.time, 'any');
|
|
});
|