Beispiel #1
0
        public void Should_Different_Plus()
        {
            MoneyExpression sum  = Money.Dollar(5).Plus(Money.Franc(10));
            Bank            bank = new Bank();

            bank.AddRate("CHF", "USD", 2);
            Assert.AreEqual(Money.Dollar(10), sum.Reduce(bank, USD));
        }
Beispiel #2
0
        public void Test_Sum_Times()
        {
            MoneyExpression fiveBucks = Money.Dollar(5);
            MoneyExpression tenFrancs = Money.Franc(10);
            Bank            bank      = new Bank();

            bank.AddRate("CHF", "USD", 2);
            MoneyExpression sum    = new Sum(fiveBucks, tenFrancs).Times(2);
            Money           result = bank.Reduce(sum, USD);

            Assert.AreEqual(Money.Dollar(20), result);
        }
Beispiel #3
0
 public MoneyExpression Plus(MoneyExpression addend) => new SumExpression(this, addend);
Beispiel #4
0
 public SumExpression(MoneyExpression augend, MoneyExpression addend)
 {
     Augend = augend;
     Addend = addend;
 }
Beispiel #5
0
 public MoneyExpression Plus(MoneyExpression fiveBucks)
 {
     return(new Sum(this, addend));
 }
Beispiel #6
0
 public Sum(MoneyExpression augend, MoneyExpression addend)
 {
     this.augend = augend;
     this.addend = addend;
 }
Beispiel #7
0
 public Money Reduce(MoneyExpression source, string to) => source.Reduce(this, to);
Beispiel #8
0
 public Money Reduce(MoneyExpression source, string to)
 {
     return(source.Reduce(this, to));
 }