1a2
> from pybind11_tests import enums as m
5,9c6,8
< from pybind11_tests import UnscopedEnum, EOne
<
< assert str(UnscopedEnum.EOne) == "UnscopedEnum.EOne"
< assert str(UnscopedEnum.ETwo) == "UnscopedEnum.ETwo"
< assert str(EOne) == "UnscopedEnum.EOne"
---
> assert str(m.UnscopedEnum.EOne) == "UnscopedEnum.EOne"
> assert str(m.UnscopedEnum.ETwo) == "UnscopedEnum.ETwo"
> assert str(m.EOne) == "UnscopedEnum.EOne"
11c10,11
< assert UnscopedEnum.__members__ == {"EOne": UnscopedEnum.EOne, "ETwo": UnscopedEnum.ETwo}
---
> assert m.UnscopedEnum.__members__ == \
> {"EOne": m.UnscopedEnum.EOne, "ETwo": m.UnscopedEnum.ETwo}
14c14
< UnscopedEnum.__members__ = {}
---
> m.UnscopedEnum.__members__ = {}
16c16
< foo = UnscopedEnum.__members__
---
> foo = m.UnscopedEnum.__members__
18c18,19
< assert UnscopedEnum.__members__ == {"EOne": UnscopedEnum.EOne, "ETwo": UnscopedEnum.ETwo}
---
> assert m.UnscopedEnum.__members__ == \
> {"EOne": m.UnscopedEnum.EOne, "ETwo": m.UnscopedEnum.ETwo}
21c22
< y = UnscopedEnum.ETwo
---
> y = m.UnscopedEnum.ETwo
25,26c26,27
< assert int(UnscopedEnum.ETwo) == 2
< assert str(UnscopedEnum(2)) == "UnscopedEnum.ETwo"
---
> assert int(m.UnscopedEnum.ETwo) == 2
> assert str(m.UnscopedEnum(2)) == "UnscopedEnum.ETwo"
29,40c30,41
< assert UnscopedEnum.EOne < UnscopedEnum.ETwo
< assert UnscopedEnum.EOne < 2
< assert UnscopedEnum.ETwo > UnscopedEnum.EOne
< assert UnscopedEnum.ETwo > 1
< assert UnscopedEnum.ETwo <= 2
< assert UnscopedEnum.ETwo >= 2
< assert UnscopedEnum.EOne <= UnscopedEnum.ETwo
< assert UnscopedEnum.EOne <= 2
< assert UnscopedEnum.ETwo >= UnscopedEnum.EOne
< assert UnscopedEnum.ETwo >= 1
< assert not (UnscopedEnum.ETwo < UnscopedEnum.EOne)
< assert not (2 < UnscopedEnum.EOne)
---
> assert m.UnscopedEnum.EOne < m.UnscopedEnum.ETwo
> assert m.UnscopedEnum.EOne < 2
> assert m.UnscopedEnum.ETwo > m.UnscopedEnum.EOne
> assert m.UnscopedEnum.ETwo > 1
> assert m.UnscopedEnum.ETwo <= 2
> assert m.UnscopedEnum.ETwo >= 2
> assert m.UnscopedEnum.EOne <= m.UnscopedEnum.ETwo
> assert m.UnscopedEnum.EOne <= 2
> assert m.UnscopedEnum.ETwo >= m.UnscopedEnum.EOne
> assert m.UnscopedEnum.ETwo >= 1
> assert not (m.UnscopedEnum.ETwo < m.UnscopedEnum.EOne)
> assert not (2 < m.UnscopedEnum.EOne)
44c45,47
< from pybind11_tests import ScopedEnum, test_scoped_enum
---
> assert m.test_scoped_enum(m.ScopedEnum.Three) == "ScopedEnum::Three"
> z = m.ScopedEnum.Two
> assert m.test_scoped_enum(z) == "ScopedEnum::Two"
46,49d48
< assert test_scoped_enum(ScopedEnum.Three) == "ScopedEnum::Three"
< z = ScopedEnum.Two
< assert test_scoped_enum(z) == "ScopedEnum::Two"
<
57,62c56,61
< assert ScopedEnum.Two < ScopedEnum.Three
< assert ScopedEnum.Three > ScopedEnum.Two
< assert ScopedEnum.Two <= ScopedEnum.Three
< assert ScopedEnum.Two <= ScopedEnum.Two
< assert ScopedEnum.Two >= ScopedEnum.Two
< assert ScopedEnum.Three >= ScopedEnum.Two
---
> assert m.ScopedEnum.Two < m.ScopedEnum.Three
> assert m.ScopedEnum.Three > m.ScopedEnum.Two
> assert m.ScopedEnum.Two <= m.ScopedEnum.Three
> assert m.ScopedEnum.Two <= m.ScopedEnum.Two
> assert m.ScopedEnum.Two >= m.ScopedEnum.Two
> assert m.ScopedEnum.Three >= m.ScopedEnum.Two
66c65,66
< from pybind11_tests import ClassWithUnscopedEnum
---
> assert str(m.ClassWithUnscopedEnum.EMode.EFirstMode) == "EMode.EFirstMode"
> assert str(m.ClassWithUnscopedEnum.EFirstMode) == "EMode.EFirstMode"
68,69c68,70
< assert str(ClassWithUnscopedEnum.EMode.EFirstMode) == "EMode.EFirstMode"
< assert str(ClassWithUnscopedEnum.EFirstMode) == "EMode.EFirstMode"
---
> f = m.ClassWithUnscopedEnum.test_function
> first = m.ClassWithUnscopedEnum.EFirstMode
> second = m.ClassWithUnscopedEnum.ESecondMode
71,74d71
< f = ClassWithUnscopedEnum.test_function
< first = ClassWithUnscopedEnum.EFirstMode
< second = ClassWithUnscopedEnum.ESecondMode
<
98c95,102
< from pybind11_tests import Flags
---
> assert int(m.Flags.Read) == 4
> assert int(m.Flags.Write) == 2
> assert int(m.Flags.Execute) == 1
> assert int(m.Flags.Read | m.Flags.Write | m.Flags.Execute) == 7
> assert int(m.Flags.Read | m.Flags.Write) == 6
> assert int(m.Flags.Read | m.Flags.Execute) == 5
> assert int(m.Flags.Write | m.Flags.Execute) == 3
> assert int(m.Flags.Write | 1) == 3
100,112c104,107
< assert int(Flags.Read) == 4
< assert int(Flags.Write) == 2
< assert int(Flags.Execute) == 1
< assert int(Flags.Read | Flags.Write | Flags.Execute) == 7
< assert int(Flags.Read | Flags.Write) == 6
< assert int(Flags.Read | Flags.Execute) == 5
< assert int(Flags.Write | Flags.Execute) == 3
< assert int(Flags.Write | 1) == 3
<
< state = Flags.Read | Flags.Write
< assert (state & Flags.Read) != 0
< assert (state & Flags.Write) != 0
< assert (state & Flags.Execute) == 0
---
> state = m.Flags.Read | m.Flags.Write
> assert (state & m.Flags.Read) != 0
> assert (state & m.Flags.Write) != 0
> assert (state & m.Flags.Execute) == 0
117a113,121
>
>
> def test_enum_to_int():
> m.test_enum_to_int(m.Flags.Read)
> m.test_enum_to_int(m.ClassWithUnscopedEnum.EMode.EFirstMode)
> m.test_enum_to_uint(m.Flags.Read)
> m.test_enum_to_uint(m.ClassWithUnscopedEnum.EMode.EFirstMode)
> m.test_enum_to_long_long(m.Flags.Read)
> m.test_enum_to_long_long(m.ClassWithUnscopedEnum.EMode.EFirstMode)