コード例 #1
0
 def test_mixed_additions(self):
     five_bucks: Expression = Money.dollar(5)
     ten_francs: Expression = Money.franc(10)
     bank: Bank = Bank()
     bank.add_rate("CHF", "USD", 2)
     result: Money = bank.reduce(five_bucks.plus(ten_francs), "USD")
     self.assertEqual(Money.dollar(10), result)
コード例 #2
0
 def test_total_times(self):
     five_bucks: Expression = Money.dollar(5)
     ten_francs: Expression = Money.franc(10)
     bank: Bank = Bank()
     bank.add_rate("CHF", "USD", 2)
     total: Expression = Total(five_bucks, ten_francs).times(2)
     result: Money = bank.reduce(total, "USD")
     self.assertEqual(Money.dollar(20), result)
コード例 #3
0
 def test_string_representation_of_money(self):
     five_bucks: Expression = Money.dollar(5)
     self.assertEqual("Money 5, USD", str(five_bucks))
コード例 #4
0
 def test_reduce_money_different_currency(self):
     bank: Bank = Bank()
     bank.add_rate("CHF", "USD", 2)
     result: Money = bank.reduce(Money.franc(2), "USD")
     self.assertEqual(Money.dollar(1), result)
コード例 #5
0
 def test_multiplication(self):
     five: Money = Money.dollar(5)
     self.assertEqual(Money.dollar(10), five.times(2))
     self.assertEqual(Money.dollar(15), five.times(3))
コード例 #6
0
 def test_reduce_sum(self):
     total: Expression = Total(Money.dollar(3), Money.dollar(4))
     bank: Bank = Bank()
     result: Money = bank.reduce(total, "USD")
     self.assertEqual(Money.dollar(7), result)
コード例 #7
0
 def test_reduce_money(self):
     bank: Bank = Bank()
     result: Money = bank.reduce(Money.dollar(1), "USD")
     self.assertEqual(Money.dollar(1), result)
コード例 #8
0
 def test_plus_returns_total(self):
     five: Money = Money.dollar(5)
     result: Expression = five.plus(five)
     total: Total = result
     self.assertEqual(five, total.augend)
     self.assertEqual(five, total.addend)
コード例 #9
0
 def test_simple_addition(self):
     five: Money = Money.dollar(5)
     total: Expression = five.plus(five)
     bank: Bank = Bank()
     reduced: Money = bank.reduce(total, "USD")
     self.assertEqual(Money.dollar(10), reduced)
コード例 #10
0
 def test_currency(self):
     self.assertEqual("USD", Money.dollar(1).currency())
     self.assertEqual("CHF", Money.franc(1).currency())
コード例 #11
0
 def test_equality(self):
     self.assertEqual(Money.dollar(5), Money.dollar(5))
     self.assertNotEqual(Money.dollar(5), Money.dollar(6))
     self.assertNotEqual(Money.franc(5), Money.dollar(5))
コード例 #12
0
 def test_franc_multiplication(self):
     five: Money = Money.franc(5)
     self.assertEqual(Money.franc(10), five.times(2))
     self.assertEqual(Money.franc(15), five.times(3))