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

Method test_namedtuple_as_value

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

Source from the content-addressed store, hash-verified

3294 self.assertEqual(copied.value, 1 | 2 | 8)
3295
3296 def test_namedtuple_as_value(self):
3297 from collections import namedtuple
3298 TTuple = namedtuple('TTuple', 'id a blist')
3299 class NTEnum(Enum):
3300 NONE = TTuple(0, 0, [])
3301 A = TTuple(1, 2, [4])
3302 B = TTuple(2, 4, [0, 1, 2])
3303 self.assertEqual(repr(NTEnum.NONE), "<NTEnum.NONE: TTuple(id=0, a=0, blist=[])>")
3304 self.assertEqual(NTEnum.NONE.value, TTuple(id=0, a=0, blist=[]))
3305 self.assertEqual(
3306 [x.value for x in NTEnum],
3307 [TTuple(id=0, a=0, blist=[]), TTuple(id=1, a=2, blist=[4]), TTuple(id=2, a=4, blist=[0, 1, 2])],
3308 )
3309
3310 self.assertRaises(AttributeError, getattr, NTEnum.NONE, 'id')
3311 #
3312 class NTCEnum(TTuple, Enum):
3313 NONE = 0, 0, []
3314 A = 1, 2, [4]
3315 B = 2, 4, [0, 1, 2]
3316 self.assertEqual(repr(NTCEnum.NONE), "<NTCEnum.NONE: TTuple(id=0, a=0, blist=[])>")
3317 self.assertEqual(NTCEnum.NONE.value, TTuple(id=0, a=0, blist=[]))
3318 self.assertEqual(NTCEnum.NONE.id, 0)
3319 self.assertEqual(NTCEnum.A.a, 2)
3320 self.assertEqual(NTCEnum.B.blist, [0, 1 ,2])
3321 self.assertEqual(
3322 [x.value for x in NTCEnum],
3323 [TTuple(id=0, a=0, blist=[]), TTuple(id=1, a=2, blist=[4]), TTuple(id=2, a=4, blist=[0, 1, 2])],
3324 )
3325 #
3326 class NTDEnum(Enum):
3327 def __new__(cls, id, a, blist):
3328 member = object.__new__(cls)
3329 member.id = id
3330 member.a = a
3331 member.blist = blist
3332 return member
3333 NONE = TTuple(0, 0, [])
3334 A = TTuple(1, 2, [4])
3335 B = TTuple(2, 4, [0, 1, 2])
3336 self.assertEqual(repr(NTDEnum.NONE), "<NTDEnum.NONE: TTuple(id=0, a=0, blist=[])>")
3337 self.assertEqual(NTDEnum.NONE.id, 0)
3338 self.assertEqual(NTDEnum.A.a, 2)
3339 self.assertEqual(NTDEnum.B.blist, [0, 1 ,2])
3340
3341 def test_flag_with_custom_new(self):
3342 class FlagFromChar(IntFlag):

Callers

nothing calls this directly

Calls 4

namedtupleFunction · 0.90
reprFunction · 0.85
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected