예제 #1
0
        public void MoneyParts()
        {
            //Planteamiento
            double entrada1 = 0.1;
            double entrada2 = 0.5;
            double entrada3 = 10.50;

            //Prueba
            var moneyParts = new MoneyParts();
            var result1    = moneyParts.build(entrada1);
            var result2    = moneyParts.build(entrada2);
            var result3    = moneyParts.build(entrada3);

            //Afirmacion
            //verificar que el monto ingresado sea igual a la suma de cada grupo de combinaciones
            foreach (var item in result1)
            {
                Assert.AreEqual(entrada1, Math.Round(item.Sum(), 2));
            }
            //verificar que el monto ingresado sea igual a la suma de cada grupo de combinaciones
            foreach (var item in result2)
            {
                Assert.AreEqual(entrada2, Math.Round(item.Sum(), 2));
            }
            //verificar que el monto ingresado sea igual a la suma de cada grupo de combinaciones
            foreach (var item in result3)
            {
                Assert.AreEqual(entrada3, Math.Round(item.Sum(), 2));
            }
        }
예제 #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            double     entrada = 10.5;
            MoneyParts obj     = new MoneyParts();

            double[][] output = obj.build(entrada);
        }
        public void TestMethod3()
        {
            MoneyParts objetoPrueba = new MoneyParts();
            decimal    monto        = Convert.ToDecimal("10.5", CultureInfo.CreateSpecificCulture("en-US"));

            Console.WriteLine(objetoPrueba.build(monto));
        }
예제 #4
0
        public void buildTest2()
        {
            string value    = "0.5";
            string actual   = MoneyParts.build(value);
            string expected = "[0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2, 0.2, 0.1, 0.5]";

            Assert.AreEqual(expected, actual);
        }
예제 #5
0
        public void BuildFirstTest()
        {
            //decimal[] l = { 5, 10, 20, 50, 100, 200, 500 };


            decimal[] changes = { 0.05m, 0.1m, 0.2m, 0.5m, 1, 2, 5, 10, 20, 50, 100, 200 };
            var       t       = MoneyParts.build("0.5");
        }
예제 #6
0
        public void test1_MoneyParts()
        {
            MoneyParts oMoneyParts = new MoneyParts();

            string[] array     = oMoneyParts.build("0.1");
            string[] resultado = { "0.05,0.05", "0.1" };

            CollectionAssert.AreEqual(resultado, array);
        }
예제 #7
0
        public void MoneyPartsTest()
        {
            MoneyParts Prueba  = new MoneyParts();
            Decimal    Entrada = 0.2m;

            Decimal[][] Salida = new Decimal[4][];
            Salida[0] = new Decimal[] { 0.05m, 0.05m, 0.05m, 0.05m };
            Salida[1] = new Decimal[] { 0.1m, 0.05m, 0.05m };
            Salida[2] = new Decimal[] { 0.1m, 0.1m };
            Salida[3] = new Decimal[] { 0.2m };

            var Resultado = Prueba.build(Entrada);

            //El resultado es correcto.
            CollectionAssert.AreEqual(Salida, Resultado, "Pruebas");
        }
예제 #8
0
        public void Problema3()
        {
            //Planteamiento
            decimal entrada1 = 0.1M;
            decimal entrada2 = 0.2M;

            decimal[][] salida1 = { new decimal[] { 0.05M, 0.05M }, new decimal[] { 0.1M } };
            decimal[][] salida2 = { new decimal[] { 0.05M, 0.05M, 0.05M, 0.05M }, new decimal[] { 0.1M, 0.05M, 0.05M }, new decimal[] { 0.1M, 0.1M }, new decimal[] { 0.2M } };
            //Prueba
            var respuesta1 = MoneyParts.build(entrada1).ToArray();
            var respuesta2 = MoneyParts.build(entrada2).ToArray();

            //Resultado
            CollectionAssert.AreEqual(respuesta1, salida1, new CollectionAssertComperator());
            CollectionAssert.AreEqual(respuesta2, salida2, new CollectionAssertComperator());
        }
예제 #9
0
        public void build()
        {
            string     cadena = "0.25";
            MoneyParts ts     = new MoneyParts();

            try
            {
                // Act
                string result = ts.build(cadena);
                // Assert
                Assert.IsNotNull(result);
            }
            catch (Exception)
            {
                Assert.Fail();
            }
        }
예제 #10
0
        private void txtCadenaEntrada3_TextChanged(object sender, EventArgs e)
        {
            double n;

            if (txtCadenaEntrada3.Text == string.Empty)
            {
                txtCadenaSalida3.Text = string.Empty;
            }
            else
            {
                if (!double.TryParse(txtCadenaEntrada3.Text.Trim(), out n))
                {
                    MessageBox.Show("Por favor solo ingresar números.", "Alerta");
                    txtCadenaEntrada3.Text = string.Empty;
                    txtCadenaSalida3.Text  = string.Empty;
                }
                else
                {
                    Common oCommon  = new Common();
                    int    nDecimal = oCommon.ObtenerNumeroDecimales(decimal.Parse(txtCadenaEntrada3.Text.Trim()));
                    if (nDecimal > 2)
                    {
                        MessageBox.Show("Por favor solo ingresar 2 posiciones decimales.", "Alerta");
                        txtCadenaEntrada3.Text = string.Empty;
                        txtCadenaSalida3.Text  = string.Empty;
                    }
                    else
                    {
                        MoneyParts oMoneyParts        = new MoneyParts();
                        double     sValor             = double.Parse(txtCadenaEntrada3.Text);
                        string     sListaDenominacion = oMoneyParts.build(sValor);
                        if (string.IsNullOrEmpty(sListaDenominacion) && sValor > 0)
                        {
                            MessageBox.Show("Por favor solo considerar denominaciones dentro del rango.\n[0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, 100, 200]", "Alerta");
                            txtCadenaEntrada3.Text = string.Empty;
                            txtCadenaSalida3.Text  = string.Empty;
                        }
                        else
                        {
                            txtCadenaSalida3.Text = sListaDenominacion;
                        }
                    }
                }
            }
        }
예제 #11
0
        public void TestBuildAreEqual(decimal entrada, string expected)
        {
            var salida = _moneyParts.build(entrada);

            Assert.AreEqual(expected, salida);
        }