Skip to content

Commit 92dbb2d

Browse files
committed
Add tests
1 parent 50d2d0c commit 92dbb2d

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

Lib/test/test_genericalias.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,30 @@ def test_nested_paramspec_specialization(self):
520520
self.assertEqual(x_tuple.__args__, ((int, str), float))
521521
self.assertEqual(x_tuple.__parameters__, ())
522522

523+
U = TypeVar("U")
524+
V = TypeVar("V")
525+
526+
multiple_params_list = X[[int, U], V]
527+
self.assertEqual(multiple_params_list.__args__, ([int, U], V))
528+
self.assertEqual(multiple_params_list.__parameters__, (U, V))
529+
multiple_params_list_specialized = multiple_params_list[str, float]
530+
self.assertEqual(multiple_params_list_specialized.__args__, ([int, str], float))
531+
self.assertEqual(multiple_params_list_specialized.__parameters__, ())
532+
533+
multiple_params_tuple = X[(int, U), V]
534+
self.assertEqual(multiple_params_tuple.__args__, ((int, U), V))
535+
self.assertEqual(multiple_params_tuple.__parameters__, (U, V))
536+
multiple_params_tuple_specialized = multiple_params_tuple[str, float]
537+
self.assertEqual(multiple_params_tuple_specialized.__args__, ((int, str), float))
538+
self.assertEqual(multiple_params_tuple_specialized.__parameters__, ())
539+
540+
deeply_nested = X[[U, [V], int], V]
541+
self.assertEqual(deeply_nested.__args__, ([U, [V], int], V))
542+
self.assertEqual(deeply_nested.__parameters__, (U, V))
543+
deeply_nested_specialized = deeply_nested[str, float]
544+
self.assertEqual(deeply_nested_specialized.__args__, ([str, [float], int], float))
545+
self.assertEqual(deeply_nested_specialized.__parameters__, ())
546+
523547

524548
class TypeIterationTests(unittest.TestCase):
525549
_UNITERABLE_TYPES = (list, tuple)

0 commit comments

Comments
 (0)