def testMixedAddition(self): fiveBucks = Money.dollar(5) tenFrancs = Money.franc(10) bank = Bank() bank.addRate('CHF', 'USD', 2) result = bank.reduce(fiveBucks.plus(tenFrancs), 'USD') self.assertEqual(Money.dollar(10), result)
def testSumTimes(self): fivedollar = Money.dollar(5) tenfranc = Money.franc(10) bank = Bank() bank.addRate('CHF', 'USD', 2) sum = Sum(fivedollar, tenfranc).times(2) result = bank.reduce(sum, 'USD') self.assertEqual(Money.dollar(20), result)
def testSumPlusMoney(self): fivedollar = Money.dollar(5) tenfranc = Money.franc(10) bank = Bank() bank.addRate('CHF', 'USD', 2) sum = Sum(fivedollar, tenfranc).plus(fivedollar) result = bank.reduce(sum, 'USD') self.assertEqual(Money.dollar(15), result)
def testTotalTimes(self): fiveBucks = Money.dollar(5) tenFrancs = Money.franc(10) bank = Bank() bank.addRate('CHF', 'USD', 2) total = Total(fiveBucks, tenFrancs).times(2) result = bank.reduce(total, 'USD') self.assertEquals(Money.dollar(20), result)
def testReduceMoneyDifferentCurrency(self): bank = Bank() bank.addRate('CHF', 'USD', 2) result = bank.reduce(Money.franc(2), 'USD') self.assertEqual(Money.dollar(1), result)
def testReduceMoney(self): bank = Bank() result = bank.reduce(Money.dollar(1), 'USD') self.assertEqual(Money.dollar(1), result)
def testReduceTotal(self): total = Total(Money.dollar(3), Money.dollar(4)) bank = Bank() result = bank.reduce(total, 'USD') self.assertEqual(Money.dollar(7), result)
def testPlusReturnsTotal(self): five = Money.dollar(5) total = five.plus(five) self.assertEqual(five, total.augend) self.assertEqual(five, total.addend)
def testSimpleAddition(self): five = Money.dollar(5) total = five.plus(five) bank = Bank() reduced = bank.reduce(total, 'USD') self.assertEqual(Money.dollar(10), reduced)
def testDifferentClassEquality(self): self.assertEqual(Money(10, 'CHF'), Money.franc(10))
def testEquality(self): self.assertEqual(Money.dollar(5), Money.dollar(5)) self.assertNotEqual(Money.dollar(5), Money.dollar(6)) self.assertNotEqual(Money.franc(5), Money.dollar(5))
def testPlusSameCurrencyeturnMoney(self): sum = Money.dollar(1).plus(Money.dollar(1)) bank = Bank() reduced = bank.reduce(sum, 'USD') self.assertEqual(isinstance(reduced, Money), True)
def testReduceSum(self): sum = Sum(Money.dollar(3), Money.dollar(4)) bank = Bank() result = bank.reduce(sum, 'USD') self.assertEqual(Money.dollar(7), result)
def testPlusReturnsSum(self): five = Money.dollar(5) sum = five.plus(five) self.assertEqual(five, sum.augend) self.assertEqual(five, sum.addend)
def testCurrency(self): self.assertEqual("USD", Money.dollar(1).currency) self.assertEqual("CHF", Money.franc(1).currency)
def testMultiplication(self): five = Money.dollar(5) self.assertEqual(Money.dollar(10), five.times(2)) self.assertEqual(Money.dollar(15), five.times(3))
def testCurrency(self): self.assertEqual('USD', Money.dollar(1).currency) self.assertEqual('CHF', Money.franc(1).currency)