UNPKG

@webilix/helper-library

Version:

JavaScript/TypeScript programming helper library.

59 lines (52 loc) 3.17 kB
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); }); });