opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
aenum
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
[DIR] __pycache__
N/A
[DIR] doc
N/A
CHANGES
9.87 KB
Rename
Delete
LICENSE
1.49 KB
Rename
Delete
__init__.py
1.10 KB
Rename
Delete
_common.py
8.01 KB
Rename
Delete
_constant.py
5.24 KB
Rename
Delete
_enum.py
124.07 KB
Rename
Delete
_py2.py
184 bytes
Rename
Delete
_py3.py
406 bytes
Rename
Delete
_tuple.py
18.66 KB
Rename
Delete
test.py
279.05 KB
Rename
Delete
test_v3.py
77.83 KB
Rename
Delete
test_v37.py
2.78 KB
Rename
Delete
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'")
Save