unittest: Improve self.assert(Not)AlmostEqual(s) (#8066)

This commit is contained in:
Alex Waygood
2022-06-14 16:24:51 +01:00
committed by GitHub
parent 7de1ed9589
commit 5add91d6bb
3 changed files with 67 additions and 22 deletions

View File

@@ -0,0 +1,29 @@
# pyright: reportUnnecessaryTypeIgnoreComment=true
import unittest
from datetime import datetime, timedelta
from decimal import Decimal
from fractions import Fraction
case = unittest.TestCase()
case.assertAlmostEqual(2.4, 2.41)
case.assertAlmostEqual(Fraction(49, 50), Fraction(48, 50))
case.assertAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1), delta=timedelta(hours=1))
case.assertAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1), None, "foo", timedelta(hours=1))
case.assertAlmostEqual(Decimal("1.1"), Decimal("1.11"))
case.assertAlmostEqual(2.4, 2.41, places=8)
case.assertAlmostEqual(2.4, 2.41, delta=0.02)
case.assertAlmostEqual(2.4, 2.41, None, "foo", 0.02)
case.assertAlmostEqual(2.4, 2.41, places=9, delta=0.02) # type: ignore[call-overload]
case.assertAlmostEqual("foo", "bar") # type: ignore[call-overload]
case.assertAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1)) # type: ignore[arg-type]
case.assertNotAlmostEqual(Fraction(49, 50), Fraction(48, 50))
case.assertNotAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1), delta=timedelta(hours=1))
case.assertNotAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1), None, "foo", timedelta(hours=1))
case.assertNotAlmostEqual(2.4, 2.41, places=9, delta=0.02) # type: ignore[call-overload]
case.assertNotAlmostEqual("foo", "bar") # type: ignore[call-overload]
case.assertNotAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1)) # type: ignore[arg-type]