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

Method test_class_var

Lib/test/test_dataclasses/__init__.py:1172–1198  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1170 self.assertTrue(c.c_called)
1171
1172 def test_class_var(self):
1173 # Make sure ClassVars are ignored in __init__, __repr__, etc.
1174 @dataclass
1175 class C:
1176 x: int
1177 y: int = 10
1178 z: ClassVar[int] = 1000
1179 w: ClassVar[int] = 2000
1180 t: ClassVar[int] = 3000
1181 s: ClassVar = 4000
1182
1183 c = C(5)
1184 self.assertEqual(repr(c), 'TestCase.test_class_var.<locals>.C(x=5, y=10)')
1185 self.assertEqual(len(fields(C)), 2) # We have 2 fields.
1186 self.assertEqual(len(C.__annotations__), 6) # And 4 ClassVars.
1187 self.assertEqual(c.z, 1000)
1188 self.assertEqual(c.w, 2000)
1189 self.assertEqual(c.t, 3000)
1190 self.assertEqual(c.s, 4000)
1191 C.z += 1
1192 self.assertEqual(c.z, 1001)
1193 c = C(20)
1194 self.assertEqual((c.x, c.y), (20, 10))
1195 self.assertEqual(c.z, 1001)
1196 self.assertEqual(c.w, 2000)
1197 self.assertEqual(c.t, 3000)
1198 self.assertEqual(c.s, 4000)
1199
1200 def test_class_var_no_default(self):
1201 # If a ClassVar has no default value, it should not be set on the class.

Callers

nothing calls this directly

Calls 3

assertEqualMethod · 0.95
fieldsFunction · 0.85
CClass · 0.70

Tested by

no test coverage detected