Skip to content

Commit f56268a

Browse files
sobolevncorona10
andauthored
bpo-45280: Add test for empty NamedTuple in test_typing (GH-28559)
Co-authored-by: Dong-hee Na <[email protected]>
1 parent 7834ff2 commit f56268a

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

Lib/test/test_typing.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4115,6 +4115,19 @@ def test_namedtuple_special_keyword_names(self):
41154115
self.assertEqual(a.typename, 'foo')
41164116
self.assertEqual(a.fields, [('bar', tuple)])
41174117

4118+
def test_empty_namedtuple(self):
4119+
NT = NamedTuple('NT')
4120+
4121+
class CNT(NamedTuple):
4122+
pass # empty body
4123+
4124+
for struct in [NT, CNT]:
4125+
with self.subTest(struct=struct):
4126+
self.assertEqual(struct._fields, ())
4127+
self.assertEqual(struct._field_defaults, {})
4128+
self.assertEqual(struct.__annotations__, {})
4129+
self.assertIsInstance(struct(), struct)
4130+
41184131
def test_namedtuple_errors(self):
41194132
with self.assertRaises(TypeError):
41204133
NamedTuple.__new__()
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add a test case for empty :class:`typing.NamedTuple`.

0 commit comments

Comments
 (0)