Example #1
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 #2
0
 def test_reduce_money(self):
     bank = Bank()
     result = bank.reduce(MoneyFactory.dollar(1), 'USD')
     eq_(MoneyFactory.dollar(1), result)
Example #3
0
 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)
Example #4
0
 def test_plus_return_sum(self):
     five = MoneyFactory.dollar(5)
     result = five.plus(five)
     sum_ = result
     eq_(five, sum_.augend)
     eq_(five, sum_.addend)
Example #5
0
 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)
Example #6
0
 def test_currency(self):
     assert_true('USD', MoneyFactory.dollar(1).currency)
     assert_true('CHF', MoneyFactory.franc(1).currency)
Example #7
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)))
Example #8
0
 def test_multiplication(self):
     five = MoneyFactory.dollar(5)
     eq_(MoneyFactory.dollar(10), five.times(2))
     eq_(MoneyFactory.dollar(15), five.times(3))