コード例 #1
0
        public void AbonoCorrecto()
        {
            string           numeroDeCuenta   = "1001";
            string           nombreDeCuenta   = "Cuenta de Ejemplo";
            TarjetaDeCredito tarjetaDeCredito = new TarjetaDeCredito();

            tarjetaDeCredito.Numero = numeroDeCuenta;
            tarjetaDeCredito.Nombre = nombreDeCuenta;
            tarjetaDeCredito.ContratarCupo(2000000);
            IList <string> errores = tarjetaDeCredito.CanConsign(1500000);
            string         obtenido;
            string         esperado = $"Su Nuevo Saldo es de ${500000} pesos";

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


            Assert.AreEqual(esperado, obtenido);
        }
コード例 #2
0
        public void ValidarAvanceNegativoOCero()
        {
            string           numeroDeCuenta   = "1001";
            string           nombreDeCuenta   = "Cuenta de Ejemplo";
            TarjetaDeCredito tarjetaDeCredito = new TarjetaDeCredito();

            tarjetaDeCredito.Numero = numeroDeCuenta;
            tarjetaDeCredito.Nombre = nombreDeCuenta;
            tarjetaDeCredito.ContratarCupo(2000000);
            IList <string> errores = tarjetaDeCredito.CanWithDraw(-500);
            string         obtenido;
            string         esperado = "El valor a avanzar es incorrecto";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = tarjetaDeCredito.Retirar(-500);
            }


            Assert.AreEqual(esperado, obtenido);
        }
コード例 #3
0
        public void AbonoMayorAlSaldo()
        {
            string           numeroDeCuenta   = "1001";
            string           nombreDeCuenta   = "Cuenta de Ejemplo";
            TarjetaDeCredito tarjetaDeCredito = new TarjetaDeCredito();

            tarjetaDeCredito.Numero = numeroDeCuenta;
            tarjetaDeCredito.Nombre = nombreDeCuenta;
            tarjetaDeCredito.ContratarCupo(1000000);
            IList <string> errores = tarjetaDeCredito.CanConsign(5000000);
            string         obtenido;
            string         esperado = $"El valor del abono no puede superar el saldo de: {tarjetaDeCredito.Saldo}";

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


            Assert.AreEqual(esperado, obtenido);
        }
コード例 #4
0
        public void ValidarAbonoNegativoOCero()
        {
            string           numeroDeCuenta   = "1001";
            string           nombreDeCuenta   = "Cuenta de Ejemplo";
            TarjetaDeCredito tarjetaDeCredito = new TarjetaDeCredito();

            tarjetaDeCredito.Numero = numeroDeCuenta;
            tarjetaDeCredito.Nombre = nombreDeCuenta;
            tarjetaDeCredito.ContratarCupo(1000000);
            IList <string> errores = tarjetaDeCredito.CanConsign(-500);
            string         obtenido;
            string         esperado = "El valor a abonar es incorrecto";

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


            Assert.AreEqual(esperado, obtenido);
        }
コード例 #5
0
        public void RetiroExitoso()
        {
            string           numeroDeCuenta   = "1001";
            string           nombreDeCuenta   = "Cuenta de Ejemplo";
            TarjetaDeCredito tarjetaDeCredito = new TarjetaDeCredito();

            tarjetaDeCredito.Numero = numeroDeCuenta;
            tarjetaDeCredito.Nombre = nombreDeCuenta;
            tarjetaDeCredito.ContratarCupo(2000000);

            IList <string> errores = tarjetaDeCredito.CanWithDraw(1500000);
            string         obtenido;
            string         esperado = $"Su Nuevo Saldo es de ${3500000} pesos";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = tarjetaDeCredito.Retirar(1500000);
            }


            Assert.AreEqual(esperado, obtenido);
        }
コード例 #6
0
        public void AvanceMayorAlCupo()
        {
            string           numeroDeCuenta   = "1001";
            string           nombreDeCuenta   = "Cuenta de Ejemplo";
            TarjetaDeCredito tarjetaDeCredito = new TarjetaDeCredito();

            tarjetaDeCredito.Numero = numeroDeCuenta;
            tarjetaDeCredito.Nombre = nombreDeCuenta;
            tarjetaDeCredito.ContratarCupo(2000000);
            IList <string> errores = tarjetaDeCredito.CanWithDraw(2500000);
            string         obtenido;
            string         esperado = $"El valor a avanzar no puede ser mayor al cupo pre-aprobado: " +
                                      $"{tarjetaDeCredito.CupoPreAprobado}";

            if (errores.Contains(esperado))
            {
                obtenido = esperado;
            }
            else
            {
                obtenido = tarjetaDeCredito.Retirar(2500000);
            }


            Assert.AreEqual(esperado, obtenido);
        }
コード例 #7
0
        private ServicioFinanciero InicializarServicioFinanciero(ServicioFinanciero servicioFinanciero, CrearServicioFinancieroRequest request)
        {
            servicioFinanciero.Nombre = request.Nombre;
            servicioFinanciero.Numero = request.Numero;
            servicioFinanciero.Ciudad = request.Ciudad;
            switch (request.TipoCuenta)
            {
            case (int)ServicioFinancieroEnum.CUENTA_DE_AHORROS: return(servicioFinanciero);

            case (int)ServicioFinancieroEnum.CUENTA_CORRIENTE:
                CuentaCorriente cuentaCorriente = (CuentaCorriente)servicioFinanciero;
                cuentaCorriente.CupoDeSobregiro = request.CupoDeSobregiro;
                return(cuentaCorriente);

            case (int)ServicioFinancieroEnum.CERTIFICADO_DE_DEPOSITO_A_TERMINO:
                CertificadoDeDepositoATermino cdt = (CertificadoDeDepositoATermino)servicioFinanciero;
                cdt.DiasDeTermino = request.DiasDeTermino;
                return(cdt);

            case (int)ServicioFinancieroEnum.TARJETA_DE_CREDITO:
                TarjetaDeCredito tarjetaDeCredito = (TarjetaDeCredito)servicioFinanciero;
                tarjetaDeCredito.ContratarCupo(request.CupoPreAprobado);
                return(tarjetaDeCredito);

            default: throw new InvalidOperationException();
            }
        }