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()); }