@webilix/helper-library
Version:
JavaScript/TypeScript programming helper library.
59 lines (52 loc) • 3.17 kB
text/typescript
import { NUMBER } from '../../lib/helpers/number';
test('NUMBER: format', () => {
expect(NUMBER.format(1234567890)).toBe('۱،۲۳۴،۵۶۷،۸۹۰');
expect(NUMBER.format(1234567890, 'EN')).toBe('1,234,567,890');
expect(NUMBER.format(-1234567.89)).toBe('-۱،۲۳۴،۵۶۷.۸۹');
expect(NUMBER.format(-1234567.89, 'EN')).toBe('-1,234,567.89');
});
test('NUMBER: getTitle', () => {
expect(NUMBER.getTitle(123456789)).toBe('صد و بیست و سه میلیون و چهارصد و پنجاه و شش هزار و هفتصد و هشتاد و نه');
expect(NUMBER.getTitle(0)).toBe('صفر');
expect(NUMBER.getTitle(1)).toBe('یک');
expect(NUMBER.getTitle(0.1)).toBe('یک دهم');
expect(NUMBER.getTitle(0.1001)).toBe('یک دهم');
expect(NUMBER.getTitle(0.01)).toBe('یک صدم');
expect(NUMBER.getTitle(0.0101)).toBe('یک صدم');
expect(NUMBER.getTitle(0.001)).toBe('یک هزارم');
expect(NUMBER.getTitle(0.0011)).toBe('یک هزارم');
expect(NUMBER.getTitle(1_000)).toBe('یک هزار');
expect(NUMBER.getTitle(1_000_000)).toBe('یک میلیون');
expect(NUMBER.getTitle(1_000_000_000)).toBe('یک میلیارد');
expect(NUMBER.getTitle(1_000_000_000_000)).toBe('یک تریلیون');
expect(NUMBER.getTitle(1_200_000_000_000)).toBe('یک تریلیون و دویست میلیارد');
expect(NUMBER.getTitle(1_200_300_000_000)).toBe('یک تریلیون و دویست میلیارد و سیصد میلیون');
expect(NUMBER.getTitle(1_200_300_400_000)).toBe('یک تریلیون و دویست میلیارد و سیصد میلیون و چهارصد هزار');
expect(NUMBER.getTitle(1_200_300_400_500)).toBe('یک تریلیون و دویست میلیارد و سیصد میلیون و چهارصد هزار و پانصد');
expect(NUMBER.getTitle(1_020_030_040_050)).toBe('یک تریلیون و بیست میلیارد و سی میلیون و چهل هزار و پنجاه');
expect(NUMBER.getTitle(1_002_003_004_005)).toBe('یک تریلیون و دو میلیارد و سه میلیون و چهار هزار و پنچ');
});
test('NUMBER: toEN', () => {
expect(NUMBER.toEN('۰۱۲۳۴۵۶۷۸۹')).toBe('0123456789');
expect(NUMBER.toEN('string: ۱۱۱')).toBe('string: 111');
});
test('NUMBER: toFA', () => {
expect(NUMBER.toFA(1234567890)).toBe('۱۲۳۴۵۶۷۸۹۰');
expect(NUMBER.toFA('string: 111')).toBe('string: ۱۱۱');
});
test('NUMBER: toFileSize', () => {
const tests: [number, string, string][] = [
[-1, '', ''],
[0, '۰ بایت', '0 B'],
[100, '۱۰۰ بایت', '100 B'],
[20000, '۱۹.۵۳ کیلوبایت', '19.53 KB'],
[30000000, '۲۸.۶۱ مگابایت', '28.61 MB'],
[40000000000, '۳۷.۲۵ گیگابایت', '37.25 GB'],
[50000000000000, '۴۵.۴۷ ترابایت', '45.47 TB'],
[2000000000000000, '۱،۸۱۸.۹۹ ترابایت', '1,818.99 TB'],
];
tests.forEach(([n, fa, en]: [number, string, string]) => {
expect(NUMBER.toFileSize(n)).toBe(fa);
expect(NUMBER.toFileSize(n, 'EN')).toBe(en);
});
});