const assert = require('node:assert'); const { parseCobiets, formatCobieTimestamp, toCobiets, fromCobiets, getTAIOffsetAt } = require('..'); const test = require('node:test'); test('parseCobiets basic values', () => { assert.strictEqual(parseCobiets('0.0000'), 0); assert.strictEqual(parseCobiets('1.0000'), 0x10000); assert.strictEqual(parseCobiets('-1.0000'), -0x10000); assert.strictEqual(parseCobiets('0.0001'), 1); }); test('formatCobieTimestamp round trip', () => { const str = '+1.0001'; const parsed = parseCobiets(str); assert.strictEqual(formatCobieTimestamp(parsed), str); }); test('getTAIOffsetAt known dates', () => { assert.strictEqual(getTAIOffsetAt(new Date('1972-01-01T00:00:00Z')), 10); assert.strictEqual(getTAIOffsetAt(new Date('1973-01-01T00:00:00Z')), 12); assert.strictEqual(getTAIOffsetAt(new Date('2017-01-01T00:00:00Z')), 37); }); test('toCobiets/fromCobiets round trip', () => { const dates = [ new Date('1970-01-01T00:00:00Z'), new Date('2017-01-01T00:00:00Z') ]; for (const d of dates) { const cob = toCobiets(d); const back = fromCobiets(cob); assert.strictEqual(back.toISOString(), d.toISOString()); } });