Пример #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)
Пример #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)
Пример #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)
Пример #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
Пример #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
Пример #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)
Пример #7
0
 def test_reduce_money(self):
     bank = Bank()
     result = bank.reduce(MoneyFactory.dollar(1), 'USD')
     eq_(MoneyFactory.dollar(1), result)
Пример #8
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)
Пример #9
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)
Пример #10
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)
Пример #11
0
 def test_currency(self):
     assert_true('USD', MoneyFactory.dollar(1).currency)
     assert_true('CHF', MoneyFactory.franc(1).currency)
Пример #12
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)))
Пример #13
0
 def test_multiplication(self):
     five = MoneyFactory.dollar(5)
     eq_(MoneyFactory.dollar(10), five.times(2))
     eq_(MoneyFactory.dollar(15), five.times(3))
Пример #14
0
def MoneyFactory(ftype=1):
    factory = RawMoneyFactory(ftype=ftype)
    # the load_exchange_rates of through webservices or databases
    factory.load_exchange_rates = MagicMock(return_value=[])
    return factory
Пример #15
0
def MoneyFactory(ftype=1):
    factory = RawMoneyFactory(ftype=ftype)
    # the load_exchange_rates of through webservices or databases
    factory.load_exchange_rates = MagicMock(return_value=[])
    return factory
Пример #16
0
def step(context, factory_type):
    factory = MoneyFactory(int(factory_type))
    context.response = {}
    context.response['ft'] = factory_type
    context.response['factory'] = factory