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

Method test_items_in_dicts

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

Source from the content-addressed store, hash-verified

2005 self.assertEqual(('f', 4), calls[4])
2006
2007 def test_items_in_dicts(self):
2008 @dataclass
2009 class C:
2010 a: int
2011 b: list = field(default_factory=list, init=False)
2012 c: list = field(default_factory=list)
2013 d: int = field(default=4, init=False)
2014 e: int = 0
2015
2016 c = C(0)
2017 # Class dict
2018 self.assertNotIn('a', C.__dict__)
2019 self.assertNotIn('b', C.__dict__)
2020 self.assertNotIn('c', C.__dict__)
2021 self.assertIn('d', C.__dict__)
2022 self.assertEqual(C.d, 4)
2023 self.assertIn('e', C.__dict__)
2024 self.assertEqual(C.e, 0)
2025 # Instance dict
2026 self.assertIn('a', c.__dict__)
2027 self.assertEqual(c.a, 0)
2028 self.assertIn('b', c.__dict__)
2029 self.assertEqual(c.b, [])
2030 self.assertIn('c', c.__dict__)
2031 self.assertEqual(c.c, [])
2032 self.assertNotIn('d', c.__dict__)
2033 self.assertIn('e', c.__dict__)
2034 self.assertEqual(c.e, 0)
2035
2036 def test_alternate_classmethod_constructor(self):
2037 # Since __post_init__ can't take params, use a classmethod

Callers

nothing calls this directly

Calls 4

assertNotInMethod · 0.95
assertInMethod · 0.95
assertEqualMethod · 0.95
CClass · 0.70

Tested by

no test coverage detected