UNPKG

polish-number-to-words

Version:

Spell numbers using words in Polish | Napisz liczbę słownie po polsku

64 lines (63 loc) 5.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const commonFractionToWords_1 = require("../commonFractionToWords"); describe('commonFractionToWordsPL', () => { it('should handle simple fractions', () => { expect((0, commonFractionToWords_1.commonFractionToWordsPL)(1, 2)).toBe('jedna druga'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(2, 3)).toBe('dwie trzecie'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(3, 4)).toBe('trzy czwarte'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(1, 5)).toBe('jedna piąta'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(1, 10)).toBe('jedna dziesiąta'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(5, 6)).toBe('pięć szóstych'); }); it('should handle more complex fractions', () => { expect((0, commonFractionToWords_1.commonFractionToWordsPL)(1, 100)).toBe('jedna setna'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(2, 100)).toBe('dwie setne'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(5, 100)).toBe('pięć setnych'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(2, 1000)).toBe('dwie tysięczne'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(3, 1000000)).toBe('trzy milionowe'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(11, 20)).toBe('jedenaście dwudziestych'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(21, 100)).toBe('dwadzieścia jeden setnych'); }); it('should handle fractions with multiples of thousands, millions, etc', () => { expect((0, commonFractionToWords_1.commonFractionToWordsPL)(1, 2000)).toBe('jedna dwutysięczna'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(2, 12000)).toBe('dwie dwunastotysięczne'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(8, 200000)).toBe('osiem dwustutysięcznych'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(3, 999000)).toBe('trzy dziewięćset dziewięćdziesięciodziewięciotysięczne'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(1, 1000000)).toBe('jedna milionowa'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(2, 2000000)).toBe('dwie dwumilionowe'); }); it('should handle very complex fractions', () => { expect((0, commonFractionToWords_1.commonFractionToWordsPL)(48, 123)).toBe('czterdzieści osiem sto dwudziestych trzecich'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(882, 1998)).toBe('osiemset osiemdziesiąt dwie tysiąc dziewięćset dziewięćdziesiąte ósme'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(1000000, 1000003)).toBe('milion milion trzecich'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(567, 890)).toBe('pięćset sześćdziesiąt siedem osiemset dziewięćdziesiątych'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(999999, 1000000)).toBe('dziewięćset dziewięćdziesiąt dziewięć tysięcy dziewięćset dziewięćdziesiąt dziewięć milionowych'); }); it('should handle fractions with negative parts', () => { expect((0, commonFractionToWords_1.commonFractionToWordsPL)(-1, 2)).toBe('minus jedna druga'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(2, -3)).toBe('dwie minus trzecie'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(-3, -4)).toBe('minus trzy minus czwarte'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(-5, 6)).toBe('minus pięć szóstych'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(7, -8)).toBe('siedem minus ósmych'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(-9, -10)).toBe('minus dziewięć minus dziesiątych'); }); it('should handle special cases', () => { expect((0, commonFractionToWords_1.commonFractionToWordsPL)(0, 5)).toBe('zero piątych'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(0, 1)).toBe('zero pierwszych'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(1, 1)).toBe('jedna pierwsza'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(2, 2)).toBe('dwie drugie'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(100, 1)).toBe('sto pierwszych'); }); it('should handle large numerators and denominators', () => { expect((0, commonFractionToWords_1.commonFractionToWordsPL)(1234567, 8765432)).toBe('milion dwieście trzydzieści cztery tysiące pięćset sześćdziesiąt siedem osiem milionów siedemset sześćdziesiąt pięć tysięcy czterysta trzydziestych drugich'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(999999999, 1000000000)).toBe('dziewięćset dziewięćdziesiąt dziewięć milionów dziewięćset dziewięćdziesiąt dziewięć tysięcy dziewięćset dziewięćdziesiąt dziewięć miliardowych'); }); it('should handle singular vs plural correctly', () => { expect((0, commonFractionToWords_1.commonFractionToWordsPL)(1, 3)).toBe('jedna trzecia'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(2, 3)).toBe('dwie trzecie'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(5, 3)).toBe('pięć trzecich'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(1, 1000)).toBe('jedna tysięczna'); expect((0, commonFractionToWords_1.commonFractionToWordsPL)(2, 1000)).toBe('dwie tysięczne'); }); });