import assert from 'node:assert/strict'; import test from 'node:test'; import { formatNumber } from './numberFormat.js'; test('negative numbers are formatted ru-RU and flagged as negative', () => { const result = formatNumber(-1234.5); assert.equal(result.text, '-1 234,5'); assert.equal(result.isNegative, true); }); test('zero is rendered as a dash and is never negative', () => { const result = formatNumber(0); assert.equal(result.text, '-'); assert.equal(result.isNegative, false); }); test('positive numbers keep the familiar ru-RU grouping and are not negative', () => { const result = formatNumber(1234.5); assert.equal(result.text, '1 234,5'); assert.equal(result.isNegative, false); }); test('asInteger drops the fractional digit', () => { const integer = formatNumber(1234, true); assert.equal(integer.text, '1 234'); assert.equal(integer.isNegative, false); const negativeInteger = formatNumber(-1234, true); assert.equal(negativeInteger.text, '-1 234'); assert.equal(negativeInteger.isNegative, true); }); test('non-numeric input is returned as a string without crashing', () => { const result = formatNumber('не число'); assert.equal(result.text, 'не число'); assert.equal(result.isNegative, false); });