public void TestReduceMoneyDifferentCurrency() { Bank bank = new Bank(); bank.AddRate("CHF", "USD", 2); Money result = bank.Reduce(Money.CreateFranc(2), "USD"); Assert.AreEqual(Money.CreateDollar(1), result); }
public void TestMixedAddition() { Expression fiveDollars = Money.CreateDollar(5); Expression tenFrancs = Money.CreateFranc(10); Bank bank = new Bank(); bank.AddRate("CHF", "USD", 2); Money result = bank.Reduce(fiveDollars.Plus(tenFrancs), "USD"); Assert.AreEqual(Money.CreateDollar(10), result); }
public void TestSumTimes() { Expression fiveDollars = Money.CreateDollar(5); Expression tenFrancs = Money.CreateFranc(10); Bank bank = new Bank(); bank.AddRate("CHF", "USD", 2); Expression sum = new Sum(fiveDollars, tenFrancs).Times(2); Money result = bank.Reduce(sum, "USD"); Assert.AreEqual(Money.CreateDollar(20), result); }