MCPcopy Index your code
hub / github.com/python/cpython / test_get_args

Method test_get_args

Lib/test/test_typing.py:7305–7372  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

7303 self.assertIs(get_origin(Unpack[Tuple[Unpack[Ts]]]), Unpack)
7304
7305 def test_get_args(self):
7306 T = TypeVar('T')
7307 class C(Generic[T]): pass
7308 self.assertEqual(get_args(C[int]), (int,))
7309 self.assertEqual(get_args(C[T]), (T,))
7310 self.assertEqual(get_args(typing.SupportsAbs[int]), (int,)) # Protocol
7311 self.assertEqual(get_args(typing.SupportsAbs[T]), (T,))
7312 self.assertEqual(get_args(Point2DGeneric[int]), (int,)) # TypedDict
7313 self.assertEqual(get_args(Point2DGeneric[T]), (T,))
7314 self.assertEqual(get_args(T), ())
7315 self.assertEqual(get_args(int), ())
7316 self.assertEqual(get_args(Any), ())
7317 self.assertEqual(get_args(Self), ())
7318 self.assertEqual(get_args(LiteralString), ())
7319 self.assertEqual(get_args(ClassVar[int]), (int,))
7320 self.assertEqual(get_args(Union[int, str]), (int, str))
7321 self.assertEqual(get_args(Literal[42, 43]), (42, 43))
7322 self.assertEqual(get_args(Final[List[int]]), (List[int],))
7323 self.assertEqual(get_args(Optional[int]), (int, type(None)))
7324 self.assertEqual(get_args(Union[int, None]), (int, type(None)))
7325 self.assertEqual(get_args(Union[int, Tuple[T, int]][str]),
7326 (int, Tuple[str, int]))
7327 self.assertEqual(get_args(typing.Dict[int, Tuple[T, T]][Optional[int]]),
7328 (int, Tuple[Optional[int], Optional[int]]))
7329 self.assertEqual(get_args(Callable[[], T][int]), ([], int))
7330 self.assertEqual(get_args(Callable[..., int]), (..., int))
7331 self.assertEqual(get_args(Callable[[int], str]), ([int], str))
7332 self.assertEqual(get_args(Union[int, Callable[[Tuple[T, ...]], str]]),
7333 (int, Callable[[Tuple[T, ...]], str]))
7334 self.assertEqual(get_args(Tuple[int, ...]), (int, ...))
7335 self.assertEqual(get_args(Tuple[()]), ())
7336 self.assertEqual(get_args(Annotated[T, 'one', 2, ['three']]), (T, 'one', 2, ['three']))
7337 self.assertEqual(get_args(List), ())
7338 self.assertEqual(get_args(Tuple), ())
7339 self.assertEqual(get_args(Callable), ())
7340 self.assertEqual(get_args(list[int]), (int,))
7341 self.assertEqual(get_args(list), ())
7342 self.assertEqual(get_args(collections.abc.Callable[[int], str]), ([int], str))
7343 self.assertEqual(get_args(collections.abc.Callable[..., str]), (..., str))
7344 self.assertEqual(get_args(collections.abc.Callable[[], str]), ([], str))
7345 self.assertEqual(get_args(collections.abc.Callable[[int], str]),
7346 get_args(Callable[[int], str]))
7347 P = ParamSpec('P')
7348 self.assertEqual(get_args(P), ())
7349 self.assertEqual(get_args(P.args), ())
7350 self.assertEqual(get_args(P.kwargs), ())
7351 self.assertEqual(get_args(Callable[P, int]), (P, int))
7352 self.assertEqual(get_args(collections.abc.Callable[P, int]), (P, int))
7353 self.assertEqual(get_args(Callable[Concatenate[int, P], int]),
7354 (Concatenate[int, P], int))
7355 self.assertEqual(get_args(collections.abc.Callable[Concatenate[int, P], int]),
7356 (Concatenate[int, P], int))
7357 self.assertEqual(get_args(Concatenate[int, str, P]), (int, str, P))
7358 self.assertEqual(get_args(list | str), (list, str))
7359 self.assertEqual(get_args(Required[int]), (int,))
7360 self.assertEqual(get_args(NotRequired[int]), (int,))
7361 self.assertEqual(get_args(TypeAlias), ())
7362 self.assertEqual(get_args(TypeForm[int]), (int,))

Callers

nothing calls this directly

Calls 2

get_argsFunction · 0.90
assertEqualMethod · 0.45

Tested by

no test coverage detected