public void ShouldConvertCurrency() { Price priceEur = null; Price priceUsd = null; Mock<ICurrencyHelper> mockCurrencyHelper = new Mock<ICurrencyHelper> (); mockCurrencyHelper.Setup(instance => instance.CurrentChangeRate("EUR", "USD")).Returns(1.1m); priceEur = new Price (amount: 100, currency: "EUR", currencyHelper: mockCurrencyHelper.Object); priceUsd = priceEur.ConvertCurrency (targetCurrency: "USD"); Assert.AreEqual (110, priceUsd.amount); Assert.AreEqual ("USD", priceUsd.currency); mockCurrencyHelper.Verify(instance => instance.CurrentChangeRate("EUR", "USD"), Times.Exactly(1)); }