import { expect, it } from 'vitest'
import { formatNanoseconds } from './format-ns'
it.each([
[0, '0ns'],
[1, '1ns'],
[999, '999ns'],
[1000, '1µs'],
[1001, '1µs'],
[999999, '999µs'],
[1000000, '1ms'],
[1000001, '1ms'],
[999999999, '999ms'],
[1000000000, '1s'],
[1000000001, '1s'],
[59999999999, '59s'],
[60000000000, '1m'],
[60000000001, '1m'],
[3599999999999n, '59m'],
[3600000000000n, '1h'],
[3600000000001n, '1h'],
[86399999999999n, '23h'],
[86400000000000n, '1d'],
[86400000000001n, '1d'],
[8640000000000000n, '100d'],
])('should format %s nanoseconds as %s', (ns, expected) => {
expect(formatNanoseconds(ns)).toBe(expected)
})