MCPcopy Index your code
hub / github.com/python/cpython / test_microsecond_rounding_decimal

Method test_microsecond_rounding_decimal

Lib/test/datetimetester.py:2771–2815  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2769
2770 @support.run_with_tz('MSK-03') # Something east of Greenwich
2771 def test_microsecond_rounding_decimal(self):
2772 D = decimal.Decimal
2773 def utcfromtimestamp(*args, **kwargs):
2774 with self.assertWarns(DeprecationWarning):
2775 return self.theclass.utcfromtimestamp(*args, **kwargs)
2776
2777 for fts in [self.theclass.fromtimestamp,
2778 utcfromtimestamp]:
2779 zero = fts(D(0))
2780 self.assertEqual(zero.second, 0)
2781 self.assertEqual(zero.microsecond, 0)
2782 one = fts(D('0.000_001'))
2783 minus_one = fts(D('-0.000_001'))
2784
2785 self.assertEqual(minus_one.second, 59)
2786 self.assertEqual(minus_one.microsecond, 999_999)
2787
2788 t = fts(D('-0.000_000_1'))
2789 self.assertEqual(t, zero)
2790 t = fts(D('-0.000_000_9'))
2791 self.assertEqual(t, minus_one)
2792 t = fts(D(-1)/2**7)
2793 self.assertEqual(t.second, 59)
2794 self.assertEqual(t.microsecond, 992188)
2795
2796 t = fts(D('0.000_000_1'))
2797 self.assertEqual(t, zero)
2798 t = fts(D('0.000_000_5'))
2799 self.assertEqual(t, zero)
2800 t = fts(D('0.000_000_500_000_000_000_000_1'))
2801 self.assertEqual(t, one)
2802 t = fts(D('0.000_000_9'))
2803 self.assertEqual(t, one)
2804 t = fts(D('0.999_999_499_999_999_9'))
2805 self.assertEqual(t.second, 0)
2806 self.assertEqual(t.microsecond, 999_999)
2807 t = fts(D('0.999_999_5'))
2808 self.assertEqual(t.second, 1)
2809 self.assertEqual(t.microsecond, 0)
2810 t = fts(D('0.999_999_9'))
2811 self.assertEqual(t.second, 1)
2812 self.assertEqual(t.microsecond, 0)
2813 t = fts(D(1)/2**7)
2814 self.assertEqual(t.second, 0)
2815 self.assertEqual(t.microsecond, 7812)
2816
2817 @support.run_with_tz('MSK-03') # Something east of Greenwich
2818 def test_microsecond_rounding_fraction(self):

Callers

nothing calls this directly

Calls 2

DClass · 0.70
assertEqualMethod · 0.45

Tested by

no test coverage detected