Skip to content

Commit 8abb7ed

Browse files
serhiy-storchakapull[bot]
authored andcommitted
gh-71339: Use new assertion methods in test_typing (GH-128825)
1 parent c1c0f48 commit 8abb7ed

File tree

1 file changed

+51
-52
lines changed

1 file changed

+51
-52
lines changed

Lib/test/test_typing.py

Lines changed: 51 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -115,18 +115,18 @@ def test_errors(self):
115115

116116
def test_can_subclass(self):
117117
class Mock(Any): pass
118-
self.assertTrue(issubclass(Mock, Any))
118+
self.assertIsSubclass(Mock, Any)
119119
self.assertIsInstance(Mock(), Mock)
120120

121121
class Something: pass
122-
self.assertFalse(issubclass(Something, Any))
122+
self.assertNotIsSubclass(Something, Any)
123123
self.assertNotIsInstance(Something(), Mock)
124124

125125
class MockSomething(Something, Mock): pass
126-
self.assertTrue(issubclass(MockSomething, Any))
127-
self.assertTrue(issubclass(MockSomething, MockSomething))
128-
self.assertTrue(issubclass(MockSomething, Something))
129-
self.assertTrue(issubclass(MockSomething, Mock))
126+
self.assertIsSubclass(MockSomething, Any)
127+
self.assertIsSubclass(MockSomething, MockSomething)
128+
self.assertIsSubclass(MockSomething, Something)
129+
self.assertIsSubclass(MockSomething, Mock)
130130
ms = MockSomething()
131131
self.assertIsInstance(ms, MockSomething)
132132
self.assertIsInstance(ms, Something)
@@ -1997,11 +1997,11 @@ def test_basics(self):
19971997
self.assertNotEqual(u, Union)
19981998

19991999
def test_union_isinstance(self):
2000-
self.assertTrue(isinstance(42, Union[int, str]))
2001-
self.assertTrue(isinstance('abc', Union[int, str]))
2002-
self.assertFalse(isinstance(3.14, Union[int, str]))
2003-
self.assertTrue(isinstance(42, Union[int, list[int]]))
2004-
self.assertTrue(isinstance(42, Union[int, Any]))
2000+
self.assertIsInstance(42, Union[int, str])
2001+
self.assertIsInstance('abc', Union[int, str])
2002+
self.assertNotIsInstance(3.14, Union[int, str])
2003+
self.assertIsInstance(42, Union[int, list[int]])
2004+
self.assertIsInstance(42, Union[int, Any])
20052005

20062006
def test_union_isinstance_type_error(self):
20072007
with self.assertRaises(TypeError):
@@ -2018,9 +2018,9 @@ def test_union_isinstance_type_error(self):
20182018
isinstance(42, Union[Any, str])
20192019

20202020
def test_optional_isinstance(self):
2021-
self.assertTrue(isinstance(42, Optional[int]))
2022-
self.assertTrue(isinstance(None, Optional[int]))
2023-
self.assertFalse(isinstance('abc', Optional[int]))
2021+
self.assertIsInstance(42, Optional[int])
2022+
self.assertIsInstance(None, Optional[int])
2023+
self.assertNotIsInstance('abc', Optional[int])
20242024

20252025
def test_optional_isinstance_type_error(self):
20262026
with self.assertRaises(TypeError):
@@ -2033,14 +2033,14 @@ def test_optional_isinstance_type_error(self):
20332033
isinstance(None, Optional[Any])
20342034

20352035
def test_union_issubclass(self):
2036-
self.assertTrue(issubclass(int, Union[int, str]))
2037-
self.assertTrue(issubclass(str, Union[int, str]))
2038-
self.assertFalse(issubclass(float, Union[int, str]))
2039-
self.assertTrue(issubclass(int, Union[int, list[int]]))
2040-
self.assertTrue(issubclass(int, Union[int, Any]))
2041-
self.assertFalse(issubclass(int, Union[str, Any]))
2042-
self.assertTrue(issubclass(int, Union[Any, int]))
2043-
self.assertFalse(issubclass(int, Union[Any, str]))
2036+
self.assertIsSubclass(int, Union[int, str])
2037+
self.assertIsSubclass(str, Union[int, str])
2038+
self.assertNotIsSubclass(float, Union[int, str])
2039+
self.assertIsSubclass(int, Union[int, list[int]])
2040+
self.assertIsSubclass(int, Union[int, Any])
2041+
self.assertNotIsSubclass(int, Union[str, Any])
2042+
self.assertIsSubclass(int, Union[Any, int])
2043+
self.assertNotIsSubclass(int, Union[Any, str])
20442044

20452045
def test_union_issubclass_type_error(self):
20462046
with self.assertRaises(TypeError):
@@ -2057,12 +2057,12 @@ def test_union_issubclass_type_error(self):
20572057
issubclass(int, Union[list[int], str])
20582058

20592059
def test_optional_issubclass(self):
2060-
self.assertTrue(issubclass(int, Optional[int]))
2061-
self.assertTrue(issubclass(type(None), Optional[int]))
2062-
self.assertFalse(issubclass(str, Optional[int]))
2063-
self.assertTrue(issubclass(Any, Optional[Any]))
2064-
self.assertTrue(issubclass(type(None), Optional[Any]))
2065-
self.assertFalse(issubclass(int, Optional[Any]))
2060+
self.assertIsSubclass(int, Optional[int])
2061+
self.assertIsSubclass(type(None), Optional[int])
2062+
self.assertNotIsSubclass(str, Optional[int])
2063+
self.assertIsSubclass(Any, Optional[Any])
2064+
self.assertIsSubclass(type(None), Optional[Any])
2065+
self.assertNotIsSubclass(int, Optional[Any])
20662066

20672067
def test_optional_issubclass_type_error(self):
20682068
with self.assertRaises(TypeError):
@@ -4050,8 +4050,8 @@ def test_generic_protocols_repr(self):
40504050

40514051
class P(Protocol[T, S]): pass
40524052

4053-
self.assertTrue(repr(P[T, S]).endswith('P[~T, ~S]'))
4054-
self.assertTrue(repr(P[int, str]).endswith('P[int, str]'))
4053+
self.assertEndsWith(repr(P[T, S]), 'P[~T, ~S]')
4054+
self.assertEndsWith(repr(P[int, str]), 'P[int, str]')
40554055

40564056
def test_generic_protocols_eq(self):
40574057
T = TypeVar('T')
@@ -4641,8 +4641,7 @@ class C(Generic[T]):
46414641
self.assertNotEqual(Z, Y[int])
46424642
self.assertNotEqual(Z, Y[T])
46434643

4644-
self.assertTrue(str(Z).endswith(
4645-
'.C[typing.Tuple[str, int]]'))
4644+
self.assertEndsWith(str(Z), '.C[typing.Tuple[str, int]]')
46464645

46474646
def test_new_repr(self):
46484647
T = TypeVar('T')
@@ -4870,12 +4869,12 @@ class A(Generic[T]):
48704869
self.assertNotEqual(typing.FrozenSet[A[str]],
48714870
typing.FrozenSet[mod_generics_cache.B.A[str]])
48724871

4873-
self.assertTrue(repr(Tuple[A[str]]).endswith('<locals>.A[str]]'))
4874-
self.assertTrue(repr(Tuple[B.A[str]]).endswith('<locals>.B.A[str]]'))
4875-
self.assertTrue(repr(Tuple[mod_generics_cache.A[str]])
4876-
.endswith('mod_generics_cache.A[str]]'))
4877-
self.assertTrue(repr(Tuple[mod_generics_cache.B.A[str]])
4878-
.endswith('mod_generics_cache.B.A[str]]'))
4872+
self.assertEndsWith(repr(Tuple[A[str]]), '<locals>.A[str]]')
4873+
self.assertEndsWith(repr(Tuple[B.A[str]]), '<locals>.B.A[str]]')
4874+
self.assertEndsWith(repr(Tuple[mod_generics_cache.A[str]]),
4875+
'mod_generics_cache.A[str]]')
4876+
self.assertEndsWith(repr(Tuple[mod_generics_cache.B.A[str]]),
4877+
'mod_generics_cache.B.A[str]]')
48794878

48804879
def test_extended_generic_rules_eq(self):
48814880
T = TypeVar('T')
@@ -5817,7 +5816,7 @@ def __call__(self, *args, **kwargs):
58175816
@Wrapper
58185817
def wrapped(): ...
58195818
self.assertIsInstance(wrapped, Wrapper)
5820-
self.assertIs(False, hasattr(wrapped, "__final__"))
5819+
self.assertNotHasAttr(wrapped, "__final__")
58215820

58225821
class Meta(type):
58235822
@property
@@ -5829,7 +5828,7 @@ class WithMeta(metaclass=Meta): ...
58295828
# Builtin classes throw TypeError if you try to set an
58305829
# attribute.
58315830
final(int)
5832-
self.assertIs(False, hasattr(int, "__final__"))
5831+
self.assertNotHasAttr(int, "__final__")
58335832

58345833
# Make sure it works with common builtin decorators
58355834
class Methods:
@@ -5910,19 +5909,19 @@ def static_method_bad_order():
59105909
self.assertEqual(Derived.class_method_good_order(), 42)
59115910
self.assertIs(True, Derived.class_method_good_order.__override__)
59125911
self.assertEqual(Derived.class_method_bad_order(), 42)
5913-
self.assertIs(False, hasattr(Derived.class_method_bad_order, "__override__"))
5912+
self.assertNotHasAttr(Derived.class_method_bad_order, "__override__")
59145913

59155914
self.assertEqual(Derived.static_method_good_order(), 42)
59165915
self.assertIs(True, Derived.static_method_good_order.__override__)
59175916
self.assertEqual(Derived.static_method_bad_order(), 42)
5918-
self.assertIs(False, hasattr(Derived.static_method_bad_order, "__override__"))
5917+
self.assertNotHasAttr(Derived.static_method_bad_order, "__override__")
59195918

59205919
# Base object is not changed:
5921-
self.assertIs(False, hasattr(Base.normal_method, "__override__"))
5922-
self.assertIs(False, hasattr(Base.class_method_good_order, "__override__"))
5923-
self.assertIs(False, hasattr(Base.class_method_bad_order, "__override__"))
5924-
self.assertIs(False, hasattr(Base.static_method_good_order, "__override__"))
5925-
self.assertIs(False, hasattr(Base.static_method_bad_order, "__override__"))
5920+
self.assertNotHasAttr(Base.normal_method, "__override__")
5921+
self.assertNotHasAttr(Base.class_method_good_order, "__override__")
5922+
self.assertNotHasAttr(Base.class_method_bad_order, "__override__")
5923+
self.assertNotHasAttr(Base.static_method_good_order, "__override__")
5924+
self.assertNotHasAttr(Base.static_method_bad_order, "__override__")
59265925

59275926
def test_property(self):
59285927
class Base:
@@ -5947,8 +5946,8 @@ def wrong(self) -> int:
59475946
self.assertEqual(instance.correct, 2)
59485947
self.assertTrue(Child.correct.fget.__override__)
59495948
self.assertEqual(instance.wrong, 2)
5950-
self.assertFalse(hasattr(Child.wrong, "__override__"))
5951-
self.assertFalse(hasattr(Child.wrong.fset, "__override__"))
5949+
self.assertNotHasAttr(Child.wrong, "__override__")
5950+
self.assertNotHasAttr(Child.wrong.fset, "__override__")
59525951

59535952
def test_silent_failure(self):
59545953
class CustomProp:
@@ -5965,7 +5964,7 @@ def some(self):
59655964
return 1
59665965

59675966
self.assertEqual(WithOverride.some, 1)
5968-
self.assertFalse(hasattr(WithOverride.some, "__override__"))
5967+
self.assertNotHasAttr(WithOverride.some, "__override__")
59695968

59705969
def test_multiple_decorators(self):
59715970
def with_wraps(f): # similar to `lru_cache` definition
@@ -10474,7 +10473,7 @@ def test_special_attrs2(self):
1047410473
# to the variable name to which it is assigned". Thus, providing
1047510474
# __qualname__ is unnecessary.
1047610475
self.assertEqual(SpecialAttrsT.__name__, 'SpecialAttrsT')
10477-
self.assertFalse(hasattr(SpecialAttrsT, '__qualname__'))
10476+
self.assertNotHasAttr(SpecialAttrsT, '__qualname__')
1047810477
self.assertEqual(SpecialAttrsT.__module__, __name__)
1047910478
# Module-level type variables are picklable.
1048010479
for proto in range(pickle.HIGHEST_PROTOCOL + 1):
@@ -10483,7 +10482,7 @@ def test_special_attrs2(self):
1048310482
self.assertIs(SpecialAttrsT, loaded)
1048410483

1048510484
self.assertEqual(SpecialAttrsP.__name__, 'SpecialAttrsP')
10486-
self.assertFalse(hasattr(SpecialAttrsP, '__qualname__'))
10485+
self.assertNotHasAttr(SpecialAttrsP, '__qualname__')
1048710486
self.assertEqual(SpecialAttrsP.__module__, __name__)
1048810487
# Module-level ParamSpecs are picklable.
1048910488
for proto in range(pickle.HIGHEST_PROTOCOL + 1):

0 commit comments

Comments
 (0)