| 166 | |
| 167 | |
| 168 | def 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( |