Example #1
0
 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)
Example #2
0
 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)
Example #3
0
 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)
Example #4
0
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
Example #5
0
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
Example #6
0
 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)
Example #7
0
 def test_currency(self):
     assert_true('USD', MoneyFactory.dollar(1).currency)
     assert_true('CHF', MoneyFactory.franc(1).currency)
Example #8
0
 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)))