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

Method test_namedtuple_as_value

Lib/test/test_enum.py:3325–3368  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3323 self.assertEqual(copied.value, 1 | 2 | 8)
3324
3325 def test_namedtuple_as_value(self):
3326 from collections import namedtuple
3327 TTuple = namedtuple('TTuple', 'id a blist')
3328 class NTEnum(Enum):
3329 NONE = TTuple(0, 0, [])
3330 A = TTuple(1, 2, [4])
3331 B = TTuple(2, 4, [0, 1, 2])
3332 self.assertEqual(repr(NTEnum.NONE), "<NTEnum.NONE: TTuple(id=0, a=0, blist=[])>")
3333 self.assertEqual(NTEnum.NONE.value, TTuple(id=0, a=0, blist=[]))
3334 self.assertEqual(
3335 [x.value for x in NTEnum],
3336 [TTuple(id=0, a=0, blist=[]), TTuple(id=1, a=2, blist=[4]), TTuple(id=2, a=4, blist=[0, 1, 2])],
3337 )
3338
3339 self.assertRaises(AttributeError, getattr, NTEnum.NONE, 'id')
3340 #
3341 class NTCEnum(TTuple, Enum):
3342 NONE = 0, 0, []
3343 A = 1, 2, [4]
3344 B = 2, 4, [0, 1, 2]
3345 self.assertEqual(repr(NTCEnum.NONE), "<NTCEnum.NONE: TTuple(id=0, a=0, blist=[])>")
3346 self.assertEqual(NTCEnum.NONE.value, TTuple(id=0, a=0, blist=[]))
3347 self.assertEqual(NTCEnum.NONE.id, 0)
3348 self.assertEqual(NTCEnum.A.a, 2)
3349 self.assertEqual(NTCEnum.B.blist, [0, 1 ,2])
3350 self.assertEqual(
3351 [x.value for x in NTCEnum],
3352 [TTuple(id=0, a=0, blist=[]), TTuple(id=1, a=2, blist=[4]), TTuple(id=2, a=4, blist=[0, 1, 2])],
3353 )
3354 #
3355 class NTDEnum(Enum):
3356 def __new__(cls, id, a, blist):
3357 member = object.__new__(cls)
3358 member.id = id
3359 member.a = a
3360 member.blist = blist
3361 return member
3362 NONE = TTuple(0, 0, [])
3363 A = TTuple(1, 2, [4])
3364 B = TTuple(2, 4, [0, 1, 2])
3365 self.assertEqual(repr(NTDEnum.NONE), "<NTDEnum.NONE: TTuple(id=0, a=0, blist=[])>")
3366 self.assertEqual(NTDEnum.NONE.id, 0)
3367 self.assertEqual(NTDEnum.A.a, 2)
3368 self.assertEqual(NTDEnum.B.blist, [0, 1 ,2])
3369
3370 def test_flag_with_custom_new(self):
3371 class FlagFromChar(IntFlag):

Callers

nothing calls this directly

Calls 3

namedtupleFunction · 0.90
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected