UNPKG

polish-number-to-words

Version:

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

31 lines (30 loc) 1.92 kB
import { currencyToWordsPL } from '../currencyToWords'; describe('currencyToWordsPL', () => { it('should handle whole numbers without grosze', () => { expect(currencyToWordsPL(0)).toBe('zero złotych zero groszy'); expect(currencyToWordsPL(1)).toBe('jeden złoty zero groszy'); expect(currencyToWordsPL(2)).toBe('dwa złote zero groszy'); expect(currencyToWordsPL(5)).toBe('pięć złotych zero groszy'); }); it('should handle numbers with grosze', () => { expect(currencyToWordsPL(1.01)).toBe('jeden złoty jeden grosz'); expect(currencyToWordsPL(2.05)).toBe('dwa złote pięć groszy'); expect(currencyToWordsPL(5.99)).toBe('pięć złotych dziewięćdziesiąt dziewięć groszy'); }); it('should handle larger amounts', () => { expect(currencyToWordsPL(1234.56)).toBe('jeden tysiąc dwieście trzydzieści cztery złote pięćdziesiąt sześć groszy'); expect(currencyToWordsPL(1000000.99)).toBe('jeden milion złotych dziewięćdziesiąt dziewięć groszy'); }); it('should handle rounding of grosze correctly', () => { expect(currencyToWordsPL(10.004)).toBe('dziesięć złotych zero groszy'); expect(currencyToWordsPL(10.005)).toBe('dziesięć złotych jeden grosz'); }); it('should handle custom currency words', () => { expect(currencyToWordsPL(5.25, ['dolar', 'dolary', 'dolarów'], ['cent', 'centy', 'centów'])).toBe('pięć dolarów dwadzieścia pięć centów'); expect(currencyToWordsPL(1.01, ['euro', 'euro', 'euro'], ['cent', 'centy', 'centów'])).toBe('jeden euro jeden cent'); }); it('should handle negative amounts', () => { expect(currencyToWordsPL(-2.5)).toBe('minus dwa złote pięćdziesiąt groszy'); expect(currencyToWordsPL(-1000.01)).toBe('minus jeden tysiąc złotych jeden grosz'); }); });