MCPcopy Create free account
hub / github.com/pybind/pybind11 / test_implicit_conversion

Function test_implicit_conversion

tests/test_enum.py:168–197  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

166
167
168def test_implicit_conversion():
169 assert str(m.ClassWithUnscopedEnum.EMode.EFirstMode) == "EMode.EFirstMode"
170 assert str(m.ClassWithUnscopedEnum.EFirstMode) == "EMode.EFirstMode"
171 assert repr(m.ClassWithUnscopedEnum.EMode.EFirstMode) == "<EMode.EFirstMode: 1>"
172 assert repr(m.ClassWithUnscopedEnum.EFirstMode) == "<EMode.EFirstMode: 1>"
173
174 f = m.ClassWithUnscopedEnum.test_function
175 first = m.ClassWithUnscopedEnum.EFirstMode
176 second = m.ClassWithUnscopedEnum.ESecondMode
177
178 assert f(first) == 1
179
180 assert f(first) == f(first)
181 assert not f(first) != f(first)
182
183 assert f(first) != f(second)
184 assert not f(first) == f(second)
185
186 assert f(first) == int(f(first))
187 assert not f(first) != int(f(first))
188
189 assert f(first) != int(f(second))
190 assert not f(first) == int(f(second))
191
192 # noinspection PyDictCreation
193 x = {f(first): 1, f(second): 2}
194 x[f(first)] = 3
195 x[f(second)] = 4
196 # Hashing test
197 assert repr(x) == "{<EMode.EFirstMode: 1>: 3, <EMode.ESecondMode: 2>: 4}"
198
199
200@pytest.mark.xfail(

Callers

nothing calls this directly

Calls 3

strClass · 0.85
reprFunction · 0.85
fFunction · 0.85

Tested by

no test coverage detected