import { enteroALetras, montoEnLetras } from './numero-letras';

describe('números en letras', () => {
  it.each([
    [0, 'cero'],
    [1, 'uno'],
    [16, 'dieciséis'],
    [21, 'veintiuno'],
    [45, 'cuarenta y cinco'],
    [100, 'cien'],
    [101, 'ciento uno'],
    [1000, 'mil'],
    [21000, 'veintiún mil'],
    [80000, 'ochenta mil'],
    [101000, 'ciento un mil'],
    [1_000_000, 'un millón'],
    [2_500_300, 'dos millones quinientos mil trescientos'],
    [450_000_000, 'cuatrocientos cincuenta millones'],
    [21_000_000, 'veintiún millones'],
  ])('%i → %s', (n, txt) => expect(enteroALetras(n)).toBe(txt));

  it('con moneda', () => {
    expect(montoEnLetras(80000, 'USD')).toBe('dólares americanos ochenta mil con 00/100');
    expect(montoEnLetras(1182.27, 'USD')).toBe('dólares americanos mil ciento ochenta y dos con 27/100');
    expect(montoEnLetras(450_000_000, 'PYG')).toBe('guaraníes cuatrocientos cincuenta millones');
  });
});
