def str2Money(s, factory_type): amount, currency = s.split(" ") factory = MoneyFactory(int(factory_type)) money = None if currency == "USD": money = factory.dollar(amount) elif currency == "CHF": money = factory.franc(amount) elif currency == "CNY": money = factory.yuan(amount) else: raise Exception( currency + " not in testcase") return money
def test_reduce_money(self): bank = Bank() result = bank.reduce(MoneyFactory.dollar(1), 'USD') eq_(MoneyFactory.dollar(1), result)
def test_reduce_sum(self): sum_ = Sum(MoneyFactory.dollar(5), MoneyFactory.dollar(4)) bank = Bank() result = bank.reduce(sum_, 'USD') eq_(MoneyFactory.dollar(9), result)
def test_plus_return_sum(self): five = MoneyFactory.dollar(5) result = five.plus(five) sum_ = result eq_(five, sum_.augend) eq_(five, sum_.addend)
def test_simple_addition(self): five = MoneyFactory.dollar(5) sum_ = five.plus(MoneyFactory.dollar(5)) bank = Bank() reduced = bank.reduce(sum_, 'USD') eq_(MoneyFactory.dollar(10), reduced)
def test_currency(self): assert_true('USD', MoneyFactory.dollar(1).currency) assert_true('CHF', MoneyFactory.franc(1).currency)
def test_equality(self): assert_true(MoneyFactory.dollar(5).__eq__(MoneyFactory.dollar(5))) assert_false(MoneyFactory.dollar(5).__eq__(MoneyFactory.dollar(3))) assert_false(MoneyFactory.franc(5).__eq__(MoneyFactory.dollar(5)))
def test_multiplication(self): five = MoneyFactory.dollar(5) eq_(MoneyFactory.dollar(10), five.times(2)) eq_(MoneyFactory.dollar(15), five.times(3))