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

Method test_class_marker

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

Source from the content-addressed store, hash-verified

653 self.assertEqual(vars(C(5)), {'t': 10, 'x': 5, 'y': 0})
654
655 def test_class_marker(self):
656 @dataclass
657 class C:
658 x: int
659 y: str = field(init=False, default=None)
660 z: str = field(repr=False)
661
662 the_fields = fields(C)
663 # the_fields is a tuple of 3 items, each value
664 # is in __annotations__.
665 self.assertIsInstance(the_fields, tuple)
666 for f in the_fields:
667 self.assertIs(type(f), Field)
668 self.assertIn(f.name, C.__annotations__)
669
670 self.assertEqual(len(the_fields), 3)
671
672 self.assertEqual(the_fields[0].name, 'x')
673 self.assertEqual(the_fields[0].type, int)
674 self.assertNotHasAttr(C, 'x')
675 self.assertTrue (the_fields[0].init)
676 self.assertTrue (the_fields[0].repr)
677 self.assertEqual(the_fields[1].name, 'y')
678 self.assertEqual(the_fields[1].type, str)
679 self.assertIsNone(getattr(C, 'y'))
680 self.assertFalse(the_fields[1].init)
681 self.assertTrue (the_fields[1].repr)
682 self.assertEqual(the_fields[2].name, 'z')
683 self.assertEqual(the_fields[2].type, str)
684 self.assertNotHasAttr(C, 'z')
685 self.assertTrue (the_fields[2].init)
686 self.assertFalse(the_fields[2].repr)
687
688 def test_field_order(self):
689 @dataclass

Callers

nothing calls this directly

Calls 9

assertIsInstanceMethod · 0.95
assertIsMethod · 0.95
assertInMethod · 0.95
assertEqualMethod · 0.95
assertNotHasAttrMethod · 0.95
assertTrueMethod · 0.95
assertIsNoneMethod · 0.95
assertFalseMethod · 0.95
fieldsFunction · 0.85

Tested by

no test coverage detected