(self)
| 367 | self.assertEqual(T4.__parameters__, ()) |
| 368 | |
| 369 | def test_parameter_chaining(self): |
| 370 | from typing import List, Dict, Union, Callable |
| 371 | self.assertEqual(list[T][int], list[int]) |
| 372 | self.assertEqual(dict[str, T][int], dict[str, int]) |
| 373 | self.assertEqual(dict[T, int][str], dict[str, int]) |
| 374 | self.assertEqual(dict[K, V][str, int], dict[str, int]) |
| 375 | self.assertEqual(dict[T, T][int], dict[int, int]) |
| 376 | |
| 377 | self.assertEqual(list[list[T]][int], list[list[int]]) |
| 378 | self.assertEqual(list[dict[T, int]][str], list[dict[str, int]]) |
| 379 | self.assertEqual(list[dict[str, T]][int], list[dict[str, int]]) |
| 380 | self.assertEqual(list[dict[K, V]][str, int], list[dict[str, int]]) |
| 381 | self.assertEqual(dict[T, list[int]][str], dict[str, list[int]]) |
| 382 | |
| 383 | self.assertEqual(list[List[T]][int], list[List[int]]) |
| 384 | self.assertEqual(list[Dict[K, V]][str, int], list[Dict[str, int]]) |
| 385 | self.assertEqual(list[Union[K, V]][str, int], list[Union[str, int]]) |
| 386 | self.assertEqual(list[Callable[[K, V], K]][str, int], |
| 387 | list[Callable[[str, int], str]]) |
| 388 | self.assertEqual(dict[T, List[int]][str], dict[str, List[int]]) |
| 389 | |
| 390 | with self.assertRaises(TypeError): |
| 391 | list[int][int] |
| 392 | with self.assertRaises(TypeError): |
| 393 | dict[T, int][str, int] |
| 394 | with self.assertRaises(TypeError): |
| 395 | dict[str, T][str, int] |
| 396 | with self.assertRaises(TypeError): |
| 397 | dict[T, T][str, int] |
| 398 | |
| 399 | def test_equality(self): |
| 400 | self.assertEqual(list[int], list[int]) |
nothing calls this directly
no test coverage detected