polish-number-to-words
Version:
Spell numbers using words in Polish | Napisz liczbę słownie po polsku
64 lines (63 loc) • 5.78 kB
JavaScript
"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');
});
});