MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_generic

Method test_generic

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

Source from the content-addressed store, hash-verified

8206 y: str
8207
8208 def test_generic(self):
8209 class X(NamedTuple, Generic[T]):
8210 x: T
8211 self.assertEqual(X.__bases__, (tuple, Generic))
8212 self.assertEqual(X.__orig_bases__, (NamedTuple, Generic[T]))
8213 self.assertEqual(X.__mro__, (X, tuple, Generic, object))
8214
8215 class Y(Generic[T], NamedTuple):
8216 x: T
8217 self.assertEqual(Y.__bases__, (Generic, tuple))
8218 self.assertEqual(Y.__orig_bases__, (Generic[T], NamedTuple))
8219 self.assertEqual(Y.__mro__, (Y, Generic, tuple, object))
8220
8221 for G in X, Y:
8222 with self.subTest(type=G):
8223 self.assertEqual(G.__parameters__, (T,))
8224 self.assertEqual(G[T].__args__, (T,))
8225 self.assertEqual(get_args(G[T]), (T,))
8226 A = G[int]
8227 self.assertIs(A.__origin__, G)
8228 self.assertEqual(A.__args__, (int,))
8229 self.assertEqual(get_args(A), (int,))
8230 self.assertEqual(A.__parameters__, ())
8231
8232 a = A(3)
8233 self.assertIs(type(a), G)
8234 self.assertEqual(a.x, 3)
8235
8236 with self.assertRaises(TypeError):
8237 G[int, str]
8238
8239 def test_generic_pep695(self):
8240 class X[T](NamedTuple):

Callers

nothing calls this directly

Calls 6

get_argsFunction · 0.90
subTestMethod · 0.80
AClass · 0.70
assertEqualMethod · 0.45
assertIsMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected