Files
backend/src/tbank/decimal.spec.ts
T
2026-08-13 22:44:53 +03:00

23 lines
674 B
TypeScript

import { add, decimal, formatDecimal, multiply, subtract } from './decimal';
describe('decimal', () => {
it('keeps signed nanos exact without floats', () => {
expect(formatDecimal(decimal({ units: 0, nano: -500000000 }))).toBe('-0.5');
expect(
formatDecimal(
add(decimal({ units: '9007199254740993' }), decimal({ nano: 1 })),
),
).toBe('9007199254740993.000000001');
expect(
formatDecimal(
subtract(decimal({ units: 1 }), decimal({ nano: 500000000 })),
),
).toBe('0.5');
expect(
formatDecimal(
multiply(decimal({ units: 2 }), decimal({ nano: 500000000 })),
),
).toBe('1');
});
});