Пример #1
0
 def test_official_pence(self):
     self.assertEqual(Decimal('0.005'), pounds_and_new_pence(0, 0, 1))
     self.assertEqual(Decimal('0.01'), pounds_and_new_pence(0, 0, 2))
     self.assertEqual(Decimal('0.01'), pounds_and_new_pence(0, 0, 3))
     self.assertEqual(Decimal('0.015'), pounds_and_new_pence(0, 0, 4))
     self.assertEqual(Decimal('0.02'), pounds_and_new_pence(0, 0, 5))
     self.assertEqual(Decimal('0.025'), pounds_and_new_pence(0, 0, 6))
Пример #2
0
 def test_round_trip_2(self, p):
     l_, s_, d_ = pounds_shillings_and_pence(p, rounding="fraction")
     p_ = pounds_and_new_pence(l_, s_, d_, rounding="fraction")
     self.assertAlmostEqual(p_, p)
Пример #3
0
 def test_round_trip(self, l, s, d):
     new_money = pounds_and_new_pence(l, s, d, rounding="fraction")
     l_, s_, d_ = pounds_shillings_and_pence(new_money, rounding="fraction")
     self.assertEqual(l_, l)
     self.assertEqual(s_, s)
     self.assertAlmostEqual(d_, d)
Пример #4
0
 def test_official_shillings(self):
     self.assertEqual(Decimal('0.05'), pounds_and_new_pence(0, 1, 0))
     self.assertEqual(Decimal('0.25'), pounds_and_new_pence(0, 5, 0))
     self.assertEqual(Decimal('0.50'), pounds_and_new_pence(0, 10, 0))
     self.assertEqual(Decimal('0.60'), pounds_and_new_pence(0, 12, 0))
     self.assertEqual(Decimal('0.95'), pounds_and_new_pence(0, 19, 0))
Пример #5
0
 def test_convert_to_new_money(self, l, s, d):
     try:
         new_money = pounds_and_new_pence(l, s, d, rounding="strict")
         self.assertIsNotNone(new_money)
     except ConversionError:
         pass
Пример #6
0
 def test_convert_to_new_money(self, l, s, d):
     new_money = pounds_and_new_pence(l, s, d, rounding="nearest")
     self.assertIsNotNone(new_money)
     self.assertNotEqual(Decimal('NaN'), new_money)
     self.assertNotEqual(Decimal('Infinity'), new_money)
     self.assertNotEqual(Decimal('-Infinity'), new_money)