Skip to content

Commit 3037923

Browse files
committed
Removed duplicated or valid cases from invalid
1 parent 255de76 commit 3037923

File tree

1 file changed

+19
-41
lines changed

1 file changed

+19
-41
lines changed

src/test_typing_extensions.py

Lines changed: 19 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -7390,8 +7390,8 @@ def test_invalid_cases(self):
73907390
T = TypeVar("T")
73917391
T2 = TypeVar("T2")
73927392
ListOrSetT = TypeAliasType("ListOrSetT", Union[List[T], Set[T]], type_params=(T,))
7393-
too_many = ListOrSetT[int, bool]
73947393

7394+
too_many = ListOrSetT[int, bool]
73957395
self.assertEqual(get_args(too_many), (int, bool))
73967396
self.assertEqual(too_many.__parameters__, ())
73977397

@@ -7416,55 +7416,33 @@ def test_invalid_cases(self):
74167416
self.assertEqual(callable_too_many.__parameters__, (T2, ))
74177417
self.assertEqual(get_args(callable_too_many), (str, float, T2, int, ))
74187418

7419-
# Test with Concatenate
7420-
callable_concat = CallableP[Concatenate[Any, T2, P], Any]
7421-
self.assertEqual(callable_concat.__parameters__, (T2, P))
7419+
# Cases that result in parameterless variable
7420+
7421+
# Callable
7422+
CallableT = CallableP[[T]]
7423+
self.assertEqual(get_args(CallableT), ([T],))
7424+
self.assertEqual(CallableT.__parameters__, ())
7425+
with self.assertRaises(TypeError, msg="is not a generic class"):
7426+
CallableT[str]
7427+
7428+
ImplicitConcatP = CallableP[[int, P]]
7429+
self.assertEqual(get_args(ImplicitConcatP), ([int, P],))
7430+
self.assertEqual(ImplicitConcatP.__parameters__, ())
7431+
with self.assertRaises(TypeError, msg="is not a generic class"):
7432+
ImplicitConcatP[str]
74227433

74237434
# TypeVarTuple
74247435
Ts = TypeVarTuple("Ts")
74257436
Variadic = TypeAliasType("Variadic", Tuple[int, Unpack[Ts]], type_params=(Ts,))
7426-
# No Unpack
7427-
invalid_tuple_A = Variadic[Tuple[int, T]]
7428-
self.assertEqual(invalid_tuple_A.__parameters__, (T, ))
7429-
self.assertEqual(get_args(invalid_tuple_A), (Tuple[int, T], ))
7430-
7431-
# To type tuple
7432-
invalid_tuple_B = Variadic[int, T]
7433-
self.assertEqual(invalid_tuple_B.__parameters__, (T, ))
74347437

74357438
# No Tuple, but list
7436-
invalud_tuple_C = Variadic[[int, T]]
7437-
self.assertEqual(invalud_tuple_C.__parameters__, ())
7438-
self.assertEqual(get_args(invalud_tuple_C), ([int, T],))
7439+
invalid_tupleT = Variadic[[int, T]]
7440+
self.assertEqual(invalid_tupleT.__parameters__, ())
7441+
self.assertEqual(get_args(invalid_tupleT), ([int, T],))
74397442

7440-
# Callable
7441-
# NOTE: This these cases seem to be more like a limitation in the typing variant
7442-
# The final variable is parameterless if using a list here.
7443-
callable_T = CallableP[[T]]
7444-
self.assertEqual(get_args(callable_T), ([T],))
7445-
self.assertEqual(callable_T.__parameters__, ())
7446-
with self.assertRaises(TypeError, msg="is not a generic class"):
7447-
callable_T[str]
7448-
7449-
InvalidConcatP = CallableP[[int, P]]
7450-
self.assertEqual(get_args(InvalidConcatP), ([int, P],))
7451-
self.assertEqual(InvalidConcatP.__parameters__, ())
74527443
with self.assertRaises(TypeError, msg="is not a generic class"):
7453-
InvalidConcatP[str]
7444+
invalid_tupleT[str]
74547445

7455-
# Callable
7456-
# NOTE: This these cases seem to be more like a limitation in the typing variant
7457-
callable_T = CallableP[[T]]
7458-
self.assertEqual(get_args(callable_T), ([T],))
7459-
self.assertEqual(callable_T.__parameters__, ())
7460-
with self.assertRaises(TypeError, msg="is not a generic class"):
7461-
callable_T[str]
7462-
7463-
InvalidConcatP = CallableP[[int, P]]
7464-
self.assertEqual(get_args(InvalidConcatP), ([int, P],))
7465-
self.assertEqual(InvalidConcatP.__parameters__, ())
7466-
with self.assertRaises(TypeError, msg="is not a generic class"):
7467-
InvalidConcatP[str]
74687446

74697447
@skipIf(TYPING_3_11_0, "Most cases are allowed in 3.11+")
74707448
def test_invalid_cases_before_3_11(self):

0 commit comments

Comments
 (0)