public void DeveEscreverValorOrdinalCorretamente(string valor, string expected)
        {
            var actual = _extenso.Escrever(OpcoesPredefinidas.Predefinicoes[Predefinicoes.Ordinais]).Numero(valor).ToUpper();

            Assert.Equal(expected, actual);
        }
Пример #2
0
        private void btn_Escrever_Click(object sender, EventArgs e)
        {
            var textInfo       = CultureInfo.CurrentCulture.TextInfo;
            var extensoOptions = new ExtensoOptions
            {
                Tipo = ObtemTipoNumeral(),
            };

            if (extensoOptions.Tipo == TipoNumerais.Cardinais)
            {
                extensoOptions.NumeraisOptions = new CardinaisOptions
                {
                    DeveUsarExtensoFeminino               = chk_ExtensoEmFeminino.Checked,
                    SepararClassesPorVirgula              = chk_SepararClassesPorVirgula.Checked,
                    ZeroExplicitoParteInteira             = chk_ZeroExplicitoParteInteira.Checked,
                    ZeroExplicitoParteDecimal             = chk_ZeroExplicitoParteDecimal.Checked,
                    DeveUsarConjuncaoDe                   = chk_ConjuncaoDe.Checked,
                    ConjuncaoExplicitaSeParteInteiraVazia = chk_ConjuncaoExplicitaSeParteInteiraVazia.Checked,
                    UmMilExplicito       = chk_UmMilExplicito.Checked,
                    ParteInteiraSingular = textInfo.ToTitleCase(txt_ParteInteiraSingular.Text.ToLower().Trim()),
                    ParteInteiraPlural   = textInfo.ToTitleCase(txt_ParteInteiraPlural.Text.ToLower().Trim()),
                    Conjuncao            = textInfo.ToTitleCase(txt_Conjuncao.Text.ToLower().Trim()),
                    ParteDecimalSingular = textInfo.ToTitleCase(txt_ParteDecimalSingular.Text.ToLower().Trim()),
                    ParteDecimalPlural   = textInfo.ToTitleCase(txt_ParteDecimalPlural.Text.ToLower().Trim()),
                };
            }
            else if (extensoOptions.Tipo == TipoNumerais.Ordinais)
            {
                extensoOptions.NumeraisOptions = new OrdinaisOptions
                {
                    DeveUsarExtensoFeminino  = chk_ExtensoEmFeminino.Checked,
                    SepararClassesPorVirgula = chk_SepararClassesPorVirgula.Checked,
                    Singular = textInfo.ToTitleCase(txt_ParteDecimalSingular.Text.ToLower().Trim())
                };
            }

            try
            {
                var extenso          = new Extenso();
                var escrever         = extenso.Escrever(extensoOptions);
                var numeroPorExtenso = escrever.Numero(txt_Numero.Text.Trim());

                if (!string.IsNullOrWhiteSpace(numeroPorExtenso))
                {
                    if (cbo_Casing.SelectedIndex == 0)
                    {
                        numeroPorExtenso = numeroPorExtenso.ToUpper();
                    }
                    else if (cbo_Casing.SelectedIndex == 1)
                    {
                        numeroPorExtenso = numeroPorExtenso.ToLower();
                    }
                    else if (cbo_Casing.SelectedIndex == 2)
                    {
                        numeroPorExtenso = char.ToUpperInvariant(numeroPorExtenso[0]) + numeroPorExtenso.Substring(1).ToLower();
                    }
                }

                txt_NumeroPorExtenso.Text = numeroPorExtenso;
            }
            catch (Exception ex)
            {
                txt_NumeroPorExtenso.Text = ex.ToString();
            }
        }