Statistics
| Revision:

gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.app / org.gvsig.scripting.app.mainplugin / src / main / resources-plugin / scripting / lib / pylint / test / functional / membership_protocol_py2.py @ 745

History | View | Annotate | Download (1001 Bytes)

1
# pylint: disable=missing-docstring,too-few-public-methods,no-init,no-self-use,unused-argument,pointless-statement,expression-not-assigned,undefined-variable
2

    
3
# metaclasses that support membership test protocol
4
class MetaIterable(type):
5
    def __iter__(cls):
6
        return iter((1, 2, 3))
7

    
8
class MetaOldIterable(type):
9
    def __getitem__(cls, key):
10
        if key < 10:
11
            return key ** 2
12
        else:
13
            raise IndexError("bad index")
14

    
15
class MetaContainer(type):
16
    def __contains__(cls, key):
17
        return False
18

    
19

    
20
class IterableClass(object):
21
    __metaclass__ = MetaIterable
22

    
23
class OldIterableClass(object):
24
    __metaclass__ = MetaOldIterable
25

    
26
class ContainerClass(object):
27
    __metaclass__ = MetaContainer
28

    
29

    
30
def test():
31
    1 in IterableClass
32
    1 in OldIterableClass
33
    1 in ContainerClass
34
    1 in IterableClass()  # [unsupported-membership-test]
35
    1 in OldIterableClass()  # [unsupported-membership-test]
36
    1 in ContainerClass()  # [unsupported-membership-test]