test_enum.py (11986:c12e4625ab56) test_enum.py (12037:d28054ac6ec9)
1import pytest
2
3
4def test_unscoped_enum():
5 from pybind11_tests import UnscopedEnum, EOne
6
7 assert str(UnscopedEnum.EOne) == "UnscopedEnum.EOne"
8 assert str(UnscopedEnum.ETwo) == "UnscopedEnum.ETwo"
9 assert str(EOne) == "UnscopedEnum.EOne"
1import pytest
2
3
4def test_unscoped_enum():
5 from pybind11_tests import UnscopedEnum, EOne
6
7 assert str(UnscopedEnum.EOne) == "UnscopedEnum.EOne"
8 assert str(UnscopedEnum.ETwo) == "UnscopedEnum.ETwo"
9 assert str(EOne) == "UnscopedEnum.EOne"
10 # __members__ property
11 assert UnscopedEnum.__members__ == {"EOne": UnscopedEnum.EOne, "ETwo": UnscopedEnum.ETwo}
12 # __members__ readonly
13 with pytest.raises(AttributeError):
14 UnscopedEnum.__members__ = {}
15 # __members__ returns a copy
16 foo = UnscopedEnum.__members__
17 foo["bar"] = "baz"
18 assert UnscopedEnum.__members__ == {"EOne": UnscopedEnum.EOne, "ETwo": UnscopedEnum.ETwo}
10
11 # no TypeError exception for unscoped enum ==/!= int comparisons
12 y = UnscopedEnum.ETwo
13 assert y == 2
14 assert y != 3
15
16 assert int(UnscopedEnum.ETwo) == 2
17 assert str(UnscopedEnum(2)) == "UnscopedEnum.ETwo"

--- 91 unchanged lines hidden ---
19
20 # no TypeError exception for unscoped enum ==/!= int comparisons
21 y = UnscopedEnum.ETwo
22 assert y == 2
23 assert y != 3
24
25 assert int(UnscopedEnum.ETwo) == 2
26 assert str(UnscopedEnum(2)) == "UnscopedEnum.ETwo"

--- 91 unchanged lines hidden ---