mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-15 16:27:08 +08:00
unittest.case: tighter annotations for various assertions (#8077)
This commit is contained in:
@@ -7,6 +7,10 @@ from fractions import Fraction
|
||||
|
||||
case = unittest.TestCase()
|
||||
|
||||
###
|
||||
# Tests for assertAlmostEqual
|
||||
###
|
||||
|
||||
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))
|
||||
@@ -20,6 +24,10 @@ case.assertAlmostEqual(2.4, 2.41, places=9, delta=0.02) # type: ignore
|
||||
case.assertAlmostEqual("foo", "bar") # type: ignore
|
||||
case.assertAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1)) # type: ignore
|
||||
|
||||
###
|
||||
# Tests for assertNotAlmostEqual
|
||||
###
|
||||
|
||||
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))
|
||||
@@ -27,3 +35,46 @@ case.assertNotAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond
|
||||
case.assertNotAlmostEqual(2.4, 2.41, places=9, delta=0.02) # type: ignore
|
||||
case.assertNotAlmostEqual("foo", "bar") # type: ignore
|
||||
case.assertNotAlmostEqual(datetime(1999, 1, 2), datetime(1999, 1, 2, microsecond=1)) # type: ignore
|
||||
|
||||
###
|
||||
# Tests for assertGreater
|
||||
###
|
||||
|
||||
|
||||
class Spam:
|
||||
def __lt__(self, other: object) -> bool:
|
||||
return True
|
||||
|
||||
|
||||
class Eggs:
|
||||
def __gt__(self, other: object) -> bool:
|
||||
return True
|
||||
|
||||
|
||||
class Ham:
|
||||
def __lt__(self, other: "Ham") -> bool:
|
||||
if not isinstance(other, Ham):
|
||||
return NotImplemented
|
||||
return True
|
||||
|
||||
|
||||
class Bacon:
|
||||
def __gt__(self, other: "Bacon") -> bool:
|
||||
if not isinstance(other, Bacon):
|
||||
return NotImplemented
|
||||
return True
|
||||
|
||||
|
||||
case.assertGreater(5.8, 3)
|
||||
case.assertGreater(Decimal("4.5"), Fraction(3, 2))
|
||||
case.assertGreater(Fraction(3, 2), 0.9)
|
||||
case.assertGreater(Eggs(), object())
|
||||
case.assertGreater(object(), Spam())
|
||||
case.assertGreater(Ham(), Ham())
|
||||
case.assertGreater(Bacon(), Bacon())
|
||||
|
||||
case.assertGreater(object(), object()) # type: ignore
|
||||
case.assertGreater(datetime(1999, 1, 2), 1) # type: ignore
|
||||
case.assertGreater(Spam(), Eggs()) # type: ignore
|
||||
case.assertGreater(Ham(), Bacon()) # type: ignore
|
||||
case.assertGreater(Bacon(), Ham()) # type: ignore
|
||||
|
||||
Reference in New Issue
Block a user