/*
This file is part of PorExtenso.
PorExtenso is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
PorExtenso is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with PorExtenso. If not, see <http://www.gnu.org/licenses/>.
Copyright 2008, Marcelo Criscuolo.
*/
package br.com.jsti.porextenso;
import static org.junit.Assert.assertTrue;
import java.math.BigDecimal;
import org.junit.Test;
public class Results {
private CurrencyWriter cw = CurrencyWriter.getInstance();
@Test
public void results() {
assertTrue("".equals(cw.write(new BigDecimal(-1))));
assertTrue("".equals(cw.write(new BigDecimal(0))));
assertTrue("um centavo".equals(cw.write(new BigDecimal("0.01"))));
assertTrue("dois centavos".equals(cw.write(new BigDecimal("0.02"))));
assertTrue("cinco centavos".equals(cw.write(new BigDecimal("0.05"))));
assertTrue("dez centavos".equals(cw.write(new BigDecimal("0.10"))));
assertTrue("onze centavos".equals(cw.write(new BigDecimal("0.11"))));
assertTrue("dezessete centavos".equals(cw.write(new BigDecimal("0.17"))));
assertTrue("vinte centavos".equals(cw.write(new BigDecimal("0.20"))));
assertTrue("vinte e um centavos".equals(cw.write(new BigDecimal("0.21"))));
assertTrue("trinta e sete centavos".equals(cw.write(new BigDecimal("0.37"))));
assertTrue("cinquenta centavos".equals(cw.write(new BigDecimal("0.50"))));
assertTrue("cinquenta e um centavos".equals(cw.write(new BigDecimal("0.51"))));
assertTrue("noventa e nove centavos".equals(cw.write(new BigDecimal("0.99"))));
assertTrue("um real".equals(cw.write(new BigDecimal("1"))));
assertTrue("um real e um centavo".equals(cw.write(new BigDecimal("1.01"))));
assertTrue("um real e cinco centavos".equals(cw.write(new BigDecimal("1.05"))));
assertTrue("um real e dez centavos".equals(cw.write(new BigDecimal("1.10"))));
assertTrue("um real e cinquenta centavos".equals(cw.write(new BigDecimal("1.50"))));
assertTrue("um real e noventa e nove centavos".equals(cw.write(new BigDecimal("1.99"))));
assertTrue("dois reais".equals(cw.write(new BigDecimal("2"))));
assertTrue("dois reais e um centavo".equals(cw.write(new BigDecimal("2.01"))));
assertTrue("dois reais e dez centavos".equals(cw.write(new BigDecimal("2.10"))));
assertTrue("cinco reais".equals(cw.write(new BigDecimal("5"))));
assertTrue("nove reais".equals(cw.write(new BigDecimal("9"))));
assertTrue("dez reais".equals(cw.write(new BigDecimal("10"))));
assertTrue("onze reais".equals(cw.write(new BigDecimal("11"))));
assertTrue("onze reais e onze centavos".equals(cw.write(new BigDecimal("11.11"))));
assertTrue("dezenove reais e quinze centavos".equals(cw.write(new BigDecimal("19.15"))));
assertTrue("vinte reais".equals(cw.write(new BigDecimal("20"))));
assertTrue("vinte e um reais".equals(cw.write(new BigDecimal("21"))));
assertTrue("vinte e um reais e vinte e um centavos".equals(cw.write(new BigDecimal("21.21"))));
assertTrue("vinte e dois reais".equals(cw.write(new BigDecimal("22"))));
assertTrue("trinta reais".equals(cw.write(new BigDecimal("30"))));
assertTrue("quarenta reais".equals(cw.write(new BigDecimal("40"))));
assertTrue("sessenta reais".equals(cw.write(new BigDecimal("60"))));
assertTrue("noventa reais".equals(cw.write(new BigDecimal("90"))));
assertTrue("noventa e um reais".equals(cw.write(new BigDecimal("91"))));
assertTrue("noventa e nove reais".equals(cw.write(new BigDecimal("99"))));
assertTrue("cem reais".equals(cw.write(new BigDecimal("100"))));
assertTrue("cem reais e um centavo".equals(cw.write(new BigDecimal("100.01"))));
assertTrue("cento e um reais".equals(cw.write(new BigDecimal("101"))));
assertTrue("cento e dois reais".equals(cw.write(new BigDecimal("102"))));
assertTrue("cento e um reais e um centavo".equals(cw.write(new BigDecimal("101.01"))));
assertTrue("cento e trinta e sete reais".equals(cw.write(new BigDecimal("137"))));
assertTrue("cento e trinta e sete reais e trinta e nove centavos".equals(cw.write(new BigDecimal("137.39"))));
assertTrue("duzentos reais".equals(cw.write(new BigDecimal("200"))));
assertTrue("duzentos e trinta e quatro reais".equals(cw.write(new BigDecimal("234"))));
assertTrue("trezentos reais".equals(cw.write(new BigDecimal("300"))));
assertTrue("quatrocentos reais".equals(cw.write(new BigDecimal("400"))));
assertTrue("quinhentos reais".equals(cw.write(new BigDecimal("500"))));
assertTrue("novecentos reais".equals(cw.write(new BigDecimal("900"))));
assertTrue("um mil reais".equals(cw.write(new BigDecimal("1000"))));
assertTrue("um mil e um reais".equals(cw.write(new BigDecimal("1001"))));
assertTrue("um mil reais e um centavo".equals(cw.write(new BigDecimal("1000.01"))));
assertTrue("um mil e cento e trinta e quatro reais e nove centavos".equals(cw.write(new BigDecimal("1134.09"))));
assertTrue("dois mil reais".equals(cw.write(new BigDecimal("2000"))));
assertTrue("onze mil reais".equals(cw.write(new BigDecimal("11000"))));
assertTrue("vinte e dois mil reais".equals(cw.write(new BigDecimal("22000"))));
assertTrue("cento e cinco mil reais".equals(cw.write(new BigDecimal("105000"))));
assertTrue("cento e cinco mil reais e vinte e um centavos".equals(cw.write(new BigDecimal("105000.21"))));
assertTrue("um milhão de reais".equals(cw.write(new BigDecimal("1000000"))));
assertTrue("um milhão de reais e um centavo".equals(cw.write(new BigDecimal("1000000.01"))));
assertTrue("dez milhões de reais".equals(cw.write(new BigDecimal("10000000"))));
assertTrue("onze milhões e duzentos e trinta e quatro mil e setecentos e dezoito reais e noventa e sete centavos".equals(cw.write(new BigDecimal("11234718.97"))));
assertTrue("cem milhões de reais".equals(cw.write(new BigDecimal("100000000"))));
assertTrue("cem milhões e duzentos e trinta e quatro mil e um reais".equals(cw.write(new BigDecimal("100234001"))));
assertTrue("cem milhões e duzentos e trinta e quatro mil e um reais e vinte e cinco centavos".equals(cw.write(new BigDecimal("100234001.25"))));
assertTrue("um bilhão de reais".equals(cw.write(new BigDecimal("1000000000"))));
assertTrue("um bilhão e um milhão e um mil e um reais".equals(cw.write(new BigDecimal("1001001001"))));
assertTrue("um trilhão de reais".equals(cw.write(new BigDecimal("1000000000000"))));
assertTrue("um quatrilhão de reais".equals(cw.write(new BigDecimal("1000000000000000"))));
assertTrue("um quintilhão de reais".equals(cw.write(new BigDecimal("1000000000000000000"))));
assertTrue("um sextilhão de reais".equals(cw.write(new BigDecimal("1000000000000000000000"))));
assertTrue("um setilhão de reais".equals(cw.write(new BigDecimal("1000000000000000000000000"))));
assertTrue("duzentos e trinta e quatro setilhões de reais".equals(cw.write(new BigDecimal("234000000000000000000000000"))));
assertTrue("novecentos e noventa e nove setilhões e novecentos e noventa e nove sextilhões e novecentos e noventa e nove quintilhões e novecentos e noventa e nove quatrilhões e novecentos e noventa e nove trilhões e novecentos e noventa e nove bilhões e novecentos e noventa e nove milhões e novecentos e noventa e nove mil e novecentos e noventa e nove reais".equals(cw.write(new BigDecimal("999999999999999999999999999"))));
assertTrue("novecentos e noventa e nove setilhões e novecentos e noventa e nove sextilhões e novecentos e noventa e nove quintilhões e novecentos e noventa e nove quatrilhões e novecentos e noventa e nove trilhões e novecentos e noventa e nove bilhões e novecentos e noventa e nove milhões e novecentos e noventa e nove mil e novecentos e noventa e nove reais e noventa e nove centavos".equals(cw.write(new BigDecimal("999999999999999999999999999.99"))));
}
}