mirror of
https://github.com/pybind/pybind11.git
synced 2026-04-20 06:49:25 +00:00
Implement an enum_ property "name"
The property returns the enum_ value as a string. For example: >>> import module >>> module.enum.VALUE enum.VALUE >>> str(module.enum.VALUE) 'enum.VALUE' >>> module.enum.VALUE.name 'VALUE' This is actually the equivalent of Boost.Python "name" property.
This commit is contained in:
committed by
Jason Rhinelander
parent
6862cb9b35
commit
289e5d9cc2
@@ -6,6 +6,19 @@ def test_unscoped_enum():
|
||||
assert str(m.UnscopedEnum.EOne) == "UnscopedEnum.EOne"
|
||||
assert str(m.UnscopedEnum.ETwo) == "UnscopedEnum.ETwo"
|
||||
assert str(m.EOne) == "UnscopedEnum.EOne"
|
||||
|
||||
# name property
|
||||
assert m.UnscopedEnum.EOne.name == "EOne"
|
||||
assert m.UnscopedEnum.ETwo.name == "ETwo"
|
||||
assert m.EOne.name == "EOne"
|
||||
# name readonly
|
||||
with pytest.raises(AttributeError):
|
||||
m.UnscopedEnum.EOne.name = ""
|
||||
# name returns a copy
|
||||
foo = m.UnscopedEnum.EOne.name
|
||||
foo = "bar"
|
||||
assert m.UnscopedEnum.EOne.name == "EOne"
|
||||
|
||||
# __members__ property
|
||||
assert m.UnscopedEnum.__members__ == \
|
||||
{"EOne": m.UnscopedEnum.EOne, "ETwo": m.UnscopedEnum.ETwo}
|
||||
|
||||
Reference in New Issue
Block a user