ÿØÿà JPEG ÿþ;
| Server IP : 68.65.120.201 / Your IP : 216.73.216.126 Web Server : LiteSpeed System : Linux server179.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64 User : taxhyuvu ( 2294) PHP Version : 8.1.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/thread-self/root/opt/hc_python/lib64/python3.12/site-packages/aenum/ |
Upload File : |
from . import Enum
from dataclasses import dataclass
from unittest import TestCase
class TestEnumV37(TestCase):
def test_repr_with_dataclass(self):
"ensure dataclass-mixin has correct repr()"
#
# check overridden dataclass __repr__ is used
#
from dataclasses import dataclass, field
@dataclass(repr=False)
class Foo:
__qualname__ = 'Foo'
a: int
def __repr__(self):
return 'ha hah!'
class Entries(Foo, Enum):
ENTRY1 = 1
self.assertEqual(repr(Entries.ENTRY1), '<Entries.ENTRY1: ha hah!>')
self.assertEqual(Entries.ENTRY1.value, Foo(1))
self.assertTrue(isinstance(Entries.ENTRY1, Foo))
self.assertTrue(Entries._member_type_ is Foo, Entries._member_type_)
#
# check auto-generated dataclass __repr__ is not used
#
@dataclass
class CreatureDataMixin:
__qualname__ = 'CreatureDataMixin'
size: str
legs: int
tail: bool = field(repr=False, default=True)
class Creature(CreatureDataMixin, Enum):
__qualname__ = 'Creature'
BEETLE = ('small', 6)
DOG = ('medium', 4)
self.assertEqual(repr(Creature.DOG), "<Creature.DOG: size='medium', legs=4>")
#
# check inherited repr used
#
class Huh:
def __repr__(self):
return 'inherited'
@dataclass(repr=False)
class CreatureDataMixin(Huh):
__qualname__ = 'CreatureDataMixin'
size: str
legs: int
tail: bool = field(repr=False, default=True)
class Creature(CreatureDataMixin, Enum):
__qualname__ = 'Creature'
BEETLE = ('small', 6)
DOG = ('medium', 4)
self.assertEqual(repr(Creature.DOG), "<Creature.DOG: inherited>")
#
# check default object.__repr__ used if nothing provided
#
@dataclass(repr=False)
class CreatureDataMixin:
__qualname__ = 'CreatureDataMixin'
size: str
legs: int
tail: bool = field(repr=False, default=True)
class Creature(CreatureDataMixin, Enum):
__qualname__ = 'Creature'
BEETLE = ('small', 6)
DOG = ('medium', 4)
self.assertRegex(repr(Creature.DOG), "<Creature.DOG: .*CreatureDataMixin object at .*>")
if __name__ == '__main__':
raise RuntimeError("'test_v3.py' should not be run by itself; it's included in 'test.py'")