Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            string mensaje;
            Cuenta cuentaAhorro = new CuentaAhorro(100000);

            mensaje = cuentaAhorro.Consignar(-200000);
            Console.WriteLine(mensaje);

            mensaje = cuentaAhorro.Consignar(100000);
            Console.WriteLine(mensaje);

            mensaje = cuentaAhorro.Retirar(190000);
            Console.WriteLine(mensaje);

            Cuenta cuentaCorriente = new CuentaCorriente(0);

            mensaje = cuentaCorriente.Consignar(100000);
            Console.WriteLine(mensaje);

            mensaje = cuentaCorriente.Retirar(30000);
            Console.WriteLine(mensaje);

            mensaje = cuentaCorriente.Retirar(50000);
            Console.WriteLine(mensaje);

            mensaje = cuentaCorriente.Consignar(30000);
            Console.WriteLine(mensaje);

            Console.ReadKey();
        }
        public void ConsignacionCorrectaPosteriorALaInicial()
        {
            string          numeroDeCuenta  = "1001";
            string          nombreDeCuenta  = "Cuenta de Ejemplo";
            CuentaCorriente cuentaCorriente = new CuentaCorriente();

            cuentaCorriente.Numero = numeroDeCuenta;
            cuentaCorriente.Nombre = nombreDeCuenta;

            cuentaCorriente.Consignar(20000, "No implementa");
            IList <string> errores = cuentaCorriente.CanConsign(20000);
            string         obtenido;
            string         esperado = $"Su Nuevo Saldo es de $40000 pesos";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cuentaCorriente.Consignar(20000, "No implementa");
            }


            Assert.AreEqual(esperado, obtenido);
        }
Ejemplo n.º 3
0
        public void CuentaCorrienteSegundaConsignacionValorValido()
        {
            CuentaCorriente cuenta = new CuentaCorriente();

            cuenta.Numero = "111";
            cuenta.Nombre = "Corriente Ejemplo";
            cuenta.Ciudad = "Valledupar";
            cuenta.Consignar(100000, "bogota");
            cuenta.Consignar(20000, "bogota");

            Assert.AreEqual(120000, cuenta.Saldo);
        }
Ejemplo n.º 4
0
        public void ConsignacionPosteriorInicialCorrectaCorriente()
        {
            var cuentaCorriente = new CuentaCorriente();

            cuentaCorriente.Numero           = "111";
            cuentaCorriente.Nombre           = "Corriente Ejemplo";
            cuentaCorriente.CiudadDeCreacion = "Valledupar";
            cuentaCorriente.Saldo            = 0;
            cuentaCorriente.TopeGiro         = 5000000;
            cuentaCorriente.Consignar(100000, "Valledupar");

            var respuesta = cuentaCorriente.Consignar(49950, "Valledupar");

            Assert.AreEqual("Su nuevo saldo es " + 149950 + " m/c", respuesta);
        }
        public void ValidarValorNoNegativoConsignacion()
        {
            string          numeroDeCuenta  = "1001";
            string          nombreDeCuenta  = "Cuenta de Ejemplo";
            CuentaCorriente cuentaCorriente = new CuentaCorriente();

            cuentaCorriente.Numero = numeroDeCuenta;
            cuentaCorriente.Nombre = nombreDeCuenta;

            IList <string> errores = cuentaCorriente.CanConsign(-500);
            string         obtenido;
            string         esperado = "El valor a consignar es incorrecto";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cuentaCorriente.Consignar(-500, "No implementa");
            }


            Assert.AreEqual(esperado, obtenido);
        }
Ejemplo n.º 6
0
        public void TestConsignarPosteriorCorrecta()
        {
            //Dado:
            //El cliente tiene una cuenta corriente
            //Número 10001, Nombre “Cuenta ejemplo”, Saldo de $80 mil pesos

            //Cuando:
            //Va a consignar el valor de $40 mil pesos

            //Entonces:
            //El sistema registrará la consignación
            //AND presentará el mensaje. "Su Nuevo Saldo es de $120,000.00 pesos m/c".


            //Dado - Preparar (A)
            CuentaCorriente cuentaCorriente = new CuentaCorriente("10001", "Cuenta Ejemplo", 80000, 20000);

            decimal valorConsignar    = 40000;
            var     fechaConsignacion = new DateTime(2018, 02, 1);
            var     ciudad            = "Valledupar";

            //Cuando - Actuar (A)
            string mensajeRespuesta = cuentaCorriente.Consignar(valorConsignar, fechaConsignacion, ciudad);

            //Entonces - Afirmar (A)
            Assert.AreEqual("Su Nuevo Saldo es de $120,000.00 pesos m/c", mensajeRespuesta);
        }
Ejemplo n.º 7
0
        public void TestConsignarInicialIncorrecta()
        {
            //Dado:
            //El cliente tiene una cuenta corriente
            //Número 10001, Nombre “Cuenta ejemplo”, Saldo de 0

            //Cuando:
            //Va a consignar el valor inicial de $99950 pesos

            //Entonces:
            //El sistema no registrará la consignación
            //AND presentará el mensaje. "El valor mínimo de la primera consignación debe ser de $100,000.00 pesos".

            //Dado - Preparar (A)
            CuentaCorriente cuentaCorriente = new CuentaCorriente("10001", "Cuenta Ejemplo", 0, 20000);

            decimal valorConsignar    = 99950;
            var     fechaConsignacion = new DateTime(2018, 02, 1);
            var     ciudad            = "Valledupar";

            //Cuando - Actuar (A)
            string mensajeRespuesta = cuentaCorriente.Consignar(valorConsignar, fechaConsignacion, ciudad);

            //Entonces - Afirmar (A)
            Assert.AreEqual("El valor mínimo de la primera consignación debe ser de $100,000.00 pesos.", mensajeRespuesta);
        }
Ejemplo n.º 8
0
        public void TestConsignarValorMenorACero()
        {
            //Dado:
            //El cliente tiene una cuenta corriente
            //Número 10001, Nombre “Cuenta ejemplo”, Saldo de 0

            //Cuando:
            //Va a consignar un valor -100

            //Entonces:
            //El sistema presentará el mensaje. “El valor a consignar es incorrecto”


            //Dado - Preparar (A)
            CuentaCorriente cuentaCorriente = new CuentaCorriente("10001", "Cuenta Ejemplo", 0, 200000);

            decimal valorConsignar    = -100;
            var     fechaConsignacion = new DateTime(2018, 02, 1);
            var     ciudad            = "Valledupar";

            //Cuando - Actuar (A)
            string mensajeRespuesta = cuentaCorriente.Consignar(valorConsignar, fechaConsignacion, ciudad);

            //Entonces - Afirmar (A)
            Assert.AreEqual("El valor a consignar es incorrecto", mensajeRespuesta);
        }
Ejemplo n.º 9
0
        public void NoPuedeConsignarValorNegativoCuentaCorrienteTest()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(numero: "10002", nombre: "Cuenta Ejemplo", ciudad: "Valledupar", credito: 1000000);
            // accion
            var resultado = cuentaCorriente.Consignar(0, "Valledupar");

            //validacion o verificacion
            Assert.AreEqual("El valor a consignar es incorrecto", resultado);
        }
Ejemplo n.º 10
0
        public void NoPuedeConsignarMenosDeCienMilPesosTest()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(numero: "10002", nombre: "Cuenta Ejemplo", ciudad: "Valledupar", credito: 1000000);
            // accion
            var resultado = cuentaCorriente.Consignar(99999, "Valledupar");

            //validacion o verificacion
            Assert.AreEqual("El valor mínimo de la primera consignación debe ser de $100.000 pesos. Su nuevo saldo es $0 pesos", resultado);
        }
Ejemplo n.º 11
0
        public void ConsignacionInicialCorrectaTest()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(cupo: 500, numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");
            //Acción
            var resultado = cuentaCorriente.Consignar(100000, "", DateTime.Now.Month + "-" + DateTime.Now.Year);

            //Verificación
            Assert.AreEqual("Su Nuevo Saldo es de $100,500.00 pesos m/c", resultado);
        }
Ejemplo n.º 12
0
        public void PuedoConsignar100MilPrimeraVezTest()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");
            //Acción
            var resultado = cuentaCorriente.Consignar(800000, "Valledupar");

            //Verificación
            Assert.AreEqual("Su Nuevo Saldo es de $1.800.000,00 pesos.", resultado);
        }
Ejemplo n.º 13
0
        public void NoPuedoConsignarNumeroNegativoTest()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");
            //Acción
            var resultado = cuentaCorriente.Consignar(0, "Valledupar");

            //Verificación
            Assert.AreEqual("El valor a consignar es incorrecto", resultado);
        }
Ejemplo n.º 14
0
        public void NoPuedeConsignarMenosDe100MilTest()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(cupo: 500, numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");
            //Acción
            var resultado = cuentaCorriente.Consignar(99999, "", DateTime.Now.Month + "-" + DateTime.Now.Year);

            //Verificación
            Assert.AreEqual("El valor mínimo de la primera consignación debe ser de $100.000 mil pesos. Su nuevo saldo es $0 pesos", resultado);
        }
Ejemplo n.º 15
0
        public void ConsignarCuentaCorrienteTest()
        {
            var cuenta = new CuentaCorriente();

            cuenta.Numero = "111";
            cuenta.Nombre = "Ahorro Ejemplo";
            cuenta.Ciudad = "Bogota";
            cuenta.Consignar(100000);
            Assert.AreEqual(100000, cuenta.Saldo);
        }
Ejemplo n.º 16
0
        public void NoPuedeConsignacionValorNegativoTest()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(cupo: 500, numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");
            //Acción
            var resultado = cuentaCorriente.Consignar(0, "", DateTime.Now.Month + "-" + DateTime.Now.Year);

            //Verificación
            Assert.AreEqual("El valor a consignar es incorrecto", resultado);
        }
Ejemplo n.º 17
0
        public void NoPuedoConsignarMenosDe100MilTest()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");
            //Acción
            var resultado = cuentaCorriente.Consignar(40000, "Valledupar");

            //Verificación
            Assert.AreEqual("El valor mínimo de la primera consignación debe ser de $100.000 mil pesos", resultado);
        }
Ejemplo n.º 18
0
        public void PuedeRetiraDelSaldo()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(numero: "10002", nombre: "Cuenta Ejemplo", ciudad: "Valledupar", credito: 0);
            // accion
            var resultado = cuentaCorriente.Consignar(250000, "Valledupar");

            resultado = cuentaCorriente.Retirar(150000);
            //validacion o verificacion
            Assert.AreEqual("Su Nuevo Saldo es de $100.000,00 pesos m/c", resultado);
        }
Ejemplo n.º 19
0
        public void ValorRetirarDescontarDelSaldoTest()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(cupo: 500, numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");

            //Acción
            cuentaCorriente.Consignar(500000, "", DateTime.Now.Month + "-" + DateTime.Now.Year);
            var retirar = cuentaCorriente.Retirar(300000, DateTime.Now.Month + "-" + DateTime.Now.Year);

            //Verificación
            Assert.AreEqual("Saldo retirado. Su Nuevo Saldo es de $199,300.00 pesos", retirar);
        }
Ejemplo n.º 20
0
        public void SaldoMinimoMayorCupoTest()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(cupo: 500, numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");

            //Acción
            cuentaCorriente.Consignar(500000, "", DateTime.Now.Month + "-" + DateTime.Now.Year);
            var retirar = cuentaCorriente.Retirar(500100, DateTime.Now.Month + "-" + DateTime.Now.Year);

            //Verificación
            Assert.AreEqual("Saldo insuficiente. Su saldo es de $500,500.00 pesos m/c", retirar);
        }
Ejemplo n.º 21
0
        public void PuedoRetirarTest()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");

            //Acción
            cuentaCorriente.Consignar(500000, "Valedupar");
            var resultado = cuentaCorriente.Retirar(200000);

            //Verificación
            Assert.AreEqual("Saldo retirado. Su Nuevo Saldo es de $1.299.200,00 pesos", resultado);
        }
Ejemplo n.º 22
0
        public void PuedeConsignaciónInicialCorrectaCuentaCorrienteTest()
        {
            //Preparar
            var cuentaCorriente      = new CuentaCorriente(numero: "10002", nombre: "Cuenta Ejemplo", ciudad: "Valledupar", credito: 1000000);
            var movimientosIniciales = cuentaCorriente.CantidadMovimientos();
            // accion
            var resultado = cuentaCorriente.Consignar(100000, "Valledupar");
            var movimientosPosteriores = cuentaCorriente.CantidadMovimientos();

            //validacion o verificacion
            Assert.AreEqual("Su Nuevo Saldo es de $100.000,00 pesos m/c", resultado);
            Assert.AreEqual(movimientosIniciales + 1, movimientosPosteriores);
        }
Ejemplo n.º 23
0
        public void CuentaCorrienteRetirarFondosSuficientes()
        {
            CuentaCorriente cuenta = new CuentaCorriente();

            cuenta.Numero = "111";
            cuenta.Nombre = "Corriente Ejemplo";
            cuenta.Ciudad = "Valledupar";
            cuenta.ConsignacionInicial = false;
            cuenta.Consignar(30000, "bogota");
            cuenta.Retirar(6000);

            Assert.AreEqual(20000, cuenta.Saldo);
        }
Ejemplo n.º 24
0
        public void CuentaCorrienteRetirarFondosInsuficientes()
        {
            CuentaCorriente cuenta = new CuentaCorriente();

            cuenta.Numero = "111";
            cuenta.Nombre = "Corriente Ejemplo";
            cuenta.Ciudad = "Valledupar";
            cuenta.Consignar(100000, "bogota");
            cuenta.Retirar(70000);


            InvalidOperationException ex = Assert.Throws <InvalidOperationException>(() => cuenta.Retirar(300000));

            Assert.AreEqual(ex.Message, "Fondos insuficientes");
        }
Ejemplo n.º 25
0
        public void NoPuedoRetirarSiNoHAySaldoTest()
        {
            //Preparar
            var cuentaCorriente = new CuentaCorriente(numero: "10001", nombre: "Cuenta Ejemplo", ciudad: "Valledupar");

            //Acción
            cuentaCorriente.Consignar(100000, "Valedupar");
            var resultado = cuentaCorriente.Retirar(200000);

            //Verificación
            Assert.AreEqual("Saldo insuficiente", resultado);

            /*Tengo un cupo de 1millon, y consigno 100.000, eso me da un total de
             * 1.100.000, ahora a eso le voy a retirar 200.000 y me sale que no hay cupo
             * ya que el saldo minimo para retirar debe ser mayor o igual al cupo de sobregiro.*/
        }
        public void ValidarValorConsignacionInicialIncorrecto()
        {
            string          numeroDeCuenta  = "1001";
            string          nombreDeCuenta  = "Cuenta de Ejemplo";
            CuentaCorriente cuentaCorriente = new CuentaCorriente();

            cuentaCorriente.Numero = numeroDeCuenta;
            cuentaCorriente.Nombre = nombreDeCuenta;
            IList <string> errores = cuentaCorriente.CanConsign(500);
            string         obtenido;
            string         esperado = $"No es posible realizar la consignacion, el monto minimo debe ser de: {CuentaCorriente.VALOR_MINIMO_CONSIGNACION_INICIAL}";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = cuentaCorriente.Consignar(500, "No implementa");
            }


            Assert.AreEqual(esperado, obtenido);
        }
Ejemplo n.º 27
0
        public void CuentaCorrienteRetirarValorInvalido()
        {
            CuentaCorriente cuenta = new CuentaCorriente();

            cuenta.Numero = "111";
            cuenta.Nombre = "Corriente Ejemplo";
            cuenta.Ciudad = "Valledupar";

            InvalidOperationException ex = Assert.Throws <InvalidOperationException>(() => cuenta.Consignar(-10000, "bogota"));

            Assert.AreEqual(ex.Message, "Valor Invalido");
        }
Ejemplo n.º 28
0
        public void CuentaCorrientePrimeraConsignacionValorInvalido()
        {
            CuentaCorriente cuenta = new CuentaCorriente();

            cuenta.Numero = "111";
            cuenta.Nombre = "Corriente Ejemplo";
            cuenta.Ciudad = "Valledupar";

            InvalidOperationException ex = Assert.Throws <InvalidOperationException>(() => cuenta.Consignar(90000, "bogota"));

            Assert.AreEqual(ex.Message, "No es posible realizar la consignacion, la primera consignacion debe ser mayor a 100000");
        }