def test_mixed_addition(self): five_bucks = Money.dollar(5) ten_francs = Money.franc(10) bank = Bank() bank.add_rate('CHF', 'USD', 2) result = bank.reduce(five_bucks.plus(ten_francs), 'USD') self.assertTrue(result.equals(Money.dollar(10)))
def test_mixed_addition(): five_dollars = Money.dollar(5) ten_francs = Money.franc(10) bank = Bank() bank.add_rate("CHF", "USD", 2) result = bank.reduce(five_dollars + ten_francs, "USD") assert result == Money.dollar(10)
def test_sum_times(): five_dollars = Money.dollar(5) ten_francs = Money.franc(10) bank = Bank() bank.add_rate("CHF", "USD", 2) sum_ = Sum(five_dollars, ten_francs) * 2 result = bank.reduce(sum_, "USD") assert result == Money.dollar(20)
def test_sum_times(self): five_bucks = Money.dollar(5) ten_francs = Money.franc(10) bank = Bank() bank.add_rate('CHF', 'USD', 2) sum = Sum(five_bucks, ten_francs).times(2) result = bank.reduce(sum, 'USD') self.assertTrue(result.equals(Money.dollar(20)))
def test_sum_plus_money(self): five_bucks = Money.dollar(5) ten_francs = Money.franc(10) bank = Bank() bank.add_rate('CHF', 'USD', 2) sum = Sum(five_bucks, ten_francs).plus(five_bucks) result = bank.reduce(sum, 'USD') self.assertEqual(result, Money.dollar(15))
def test_reduce_money_different_currency(): bank = Bank() bank.add_rate("CHF", "USD", 2) result = bank.reduce(Money.franc(2), "USD") assert result == Money.dollar(1)
def test_equality(): assert Money.dollar(5) == Money.dollar(5) assert Money.dollar(5) != Money.dollar(6) assert Money.dollar(5) != Money.franc(5)
def test_currency(): assert Money.dollar(1).currency == "USD" assert Money.franc(1).currency == "CHF"
def test_reduce_money_different_currency(self): bank = Bank() bank.add_rate('CHF', 'USD', 2) result = bank.reduce(Money.franc(2), 'USD') self.assertTrue(Money.dollar(1).equals(result))
def test_currency(self): self.assertEqual('USD', Money.dollar(1).currency()) self.assertEqual('CHF', Money.franc(1).currency())
def test_franc_dollar_inequality(self): self.assertFalse(Money.franc(5).equals(Money.dollar(5)))
def test_franc_multiplication(self): six = Money.franc(6) self.assertTrue(Money.franc(12).equals(six.times(2))) self.assertTrue(Money.franc(30).equals(six.times(5)))
def test_currency(self): self.assertEqual(Money.dollar(1).currency(), 'USD') self.assertEqual(Money.franc(1).currency(), 'CHF')
def test_equality(self): self.assertEqual(Money.dollar(5), Money.dollar(5)) self.assertNotEqual(Money.dollar(5), Money.dollar(6)) self.assertNotEqual(Money.dollar(5), Money.franc(5))