|
Server IP : 185.61.154.36 / Your IP : 216.73.216.44 Web Server : Apache System : Linux host67.registrar-servers.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64 User : gettoplisting ( 12043) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/../opt/hc_python/../hc_python/lib64/python3.12/site-packages/sqlalchemy/../aenum/ |
| [ Home ] | [ C0mmand ] | [ 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'")