(self)
| 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 |
nothing calls this directly
no test coverage detected