Files
duckdb-ui/ts/pkgs/duckdb-data-values/test/DuckDBTimestampSecondsValue.test.ts
Jeff Raymakers 0edb52054a add duckdb-ui-client & other ts pkgs (#10)
* add duckdb-ui-client & other ts pkgs

* workflow fixes

* fix working dir

* no sparse checkout; specify package.json path

* path to pnpm-lock.yaml

* add check & build test

* workflow step descriptions

* use comments & names

* one more naming tweak
2025-06-13 09:16:05 -07:00

46 lines
1.8 KiB
TypeScript

import { expect, suite, test } from 'vitest';
import { DuckDBTimestampSecondsValue } from '../src/DuckDBTimestampSecondsValue';
suite('DuckDBTimestampSecondsValue', () => {
test('should render a normal timestamp value to the correct string', () => {
expect(
new DuckDBTimestampSecondsValue(1612325106n).toString(),
).toStrictEqual('2021-02-03 04:05:06');
});
test('should render a zero timestamp value to the correct string', () => {
expect(new DuckDBTimestampSecondsValue(0n).toString()).toStrictEqual(
'1970-01-01 00:00:00',
);
});
test('should render a negative timestamp value to the correct string', () => {
expect(new DuckDBTimestampSecondsValue(-7n).toString()).toStrictEqual(
'1969-12-31 23:59:53',
);
});
test('should render a large positive timestamp value to the correct string', () => {
expect(
new DuckDBTimestampSecondsValue(2353318271999n).toString(),
).toStrictEqual('76543-09-08 23:59:59');
});
test('should render a large negative (AD) timestamp value to the correct string', () => {
expect(
new DuckDBTimestampSecondsValue(-58261244277n).toString(),
).toStrictEqual('0123-10-11 01:02:03');
});
test('should render a large negative (BC) timestamp value to the correct string', () => {
expect(
new DuckDBTimestampSecondsValue(-65992661877n).toString(),
).toStrictEqual('0123-10-11 (BC) 01:02:03');
});
test('should render the max timestamp value to the correct string', () => {
expect(
new DuckDBTimestampSecondsValue(9223372036854n).toString(),
).toStrictEqual('294247-01-10 04:00:54');
});
test('should render the min timestamp value to the correct string', () => {
expect(
new DuckDBTimestampSecondsValue(-9223372022400n).toString(),
).toStrictEqual('290309-12-22 (BC) 00:00:00');
});
});