diff options
Diffstat (limited to 'tests/functional/n/none_dunder_protocols.py')
-rw-r--r-- | tests/functional/n/none_dunder_protocols.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/functional/n/none_dunder_protocols.py b/tests/functional/n/none_dunder_protocols.py new file mode 100644 index 000000000..5573ceeb4 --- /dev/null +++ b/tests/functional/n/none_dunder_protocols.py @@ -0,0 +1,34 @@ +# pylint: disable=missing-docstring, too-few-public-methods,pointless-statement +# pylint: disable=expression-not-assigned + +class MetaIterable(type): + __iter__ = None + + +class MetaOldIterable(type): + __getitem__ = None + + +class MetaContainer(type): + __contains__ = None + + +class NonIterableClass(metaclass=MetaOldIterable): + __contains__ = None + + +class OldNonIterableClass(metaclass=MetaOldIterable): + __contains__ = None + + +class NonContainerClass(metaclass=MetaContainer): + __iter__ = None + + +def test(): + 1 in NonIterableClass # [unsupported-membership-test] + 1 in OldNonIterableClass # [unsupported-membership-test] + 1 in NonContainerClass # [unsupported-membership-test] + 1 in NonIterableClass() # [unsupported-membership-test] + 1 in OldNonIterableClass() # [unsupported-membership-test] + 1 in NonContainerClass() # [unsupported-membership-test] |