def test_mixed_addition(self): five_bucks = MoneyFactory.dollar(5) ten_francs = MoneyFactory.franc(10) bank = Bank() bank.add_rate('CHF', 'USD', 2) result = bank.reduce(five_bucks.plus(ten_francs), 'USD') eq_(MoneyFactory.dollar(10), result)
def test_sum_times(self): five_bucks = MoneyFactory.dollar(5) ten_francs = MoneyFactory.franc(10) bank = Bank() bank.add_rate('CHF', 'USD', 2) sum_ = Sum(five_bucks, ten_francs).times(2) result = bank.reduce(sum_, 'USD') eq_(MoneyFactory.dollar(20), result)
def test_sum_plus_money(self): five_bucks = MoneyFactory.dollar(5) ten_francs = MoneyFactory.franc(10) bank = Bank() bank.add_rate('CHF', 'USD', 2) sum_ = Sum(five_bucks, ten_francs).plus(five_bucks) result = bank.reduce(sum_, 'USD') eq_(MoneyFactory.dollar(15), result)
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 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_different_currency(self): bank = Bank() bank.add_rate('CHF', 'USD', 2) result = bank.reduce(MoneyFactory.franc(2), 'USD') eq_(MoneyFactory.dollar(1), result)
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)))