示例#1
0
        public void TransferirTest()
        {
            var ratio = 1.25M;
            var conversor = new Mock<IConversorMoneda>();
            conversor
                .Setup(x => x.RatioConversion(It.IsAny<Moneda>(), It.IsAny<Moneda>()))
                .Returns(ratio);

            var logger = new Mock<ILoger>();

            FactoriaConversion.SetConversor(conversor.Object);
            FactoriaLogger.SetLogger(logger.Object);

            int numeroCuenta = 1;
            Moneda moneda = Moneda.Euro;
            Decimal saldo = 100M;
            Cuenta target = new Cuenta(numeroCuenta, moneda, saldo);
            Decimal cantidad = 50;
            int numeroCuenta2 = 2;
            Moneda moneda2 = Moneda.Dolar;
            Decimal saldo2 = 100M;
            Cuenta aCuenta = new Cuenta(numeroCuenta2, moneda2, saldo2);

            target.Transferir(cantidad, aCuenta);

            Assert.AreEqual(saldo - cantidad, target.Saldo);
            Assert.AreEqual(saldo2 + (cantidad * ratio), aCuenta.Saldo);
            logger.Verify(x => x.Log(It.IsAny<string>()), Times.Never());
        }