summaryrefslogtreecommitdiff
path: root/tests/functional/u/unneeded_not.py
blob: 97acecd7318d6af6d1f2ad19515ce70f918a010c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
"""Check exceeding negations in boolean expressions trigger warnings"""

# pylint: disable=singleton-comparison,too-many-branches,too-few-public-methods,undefined-variable
# pylint: disable=literal-comparison, comparison-with-itself, useless-object-inheritance
def unneeded_not():
    """This is not ok
    """
    bool_var = True
    someint = 2
    if not not bool_var:  # [unneeded-not]
        pass
    if not someint == 1:  # [unneeded-not]
        pass
    if not someint != 1:  # [unneeded-not]
        pass
    if not someint < 1:  # [unneeded-not]
        pass
    if not someint > 1:  # [unneeded-not]
        pass
    if not someint <= 1:  # [unneeded-not]
        pass
    if not someint >= 1:  # [unneeded-not]
        pass
    if not not someint:  # [unneeded-not]
        pass
    if not bool_var == True:  # [unneeded-not]
        pass
    if not bool_var == False:  # [unneeded-not]
        pass
    if not bool_var != True:  # [unneeded-not]
        pass
    if not True == True:  # [unneeded-not]
        pass
    if not 2 in [3, 4]:  # [unneeded-not]
        pass
    if not someint is 'test':  # [unneeded-not]
        pass


def tolerated_statements():
    """This is ok"""
    bool_var = True
    someint = 2
    if not(bool_var == False and someint == 1):
        pass
    if 2 not in [3, 4]:
        pass
    if not someint == bool_var == 2:
        pass
    if not 2 <= someint < 3 < 4:
        pass
    if not set('bar') <= set('foobaz'):
        pass
    if not set(something) <= 3:
        pass
    if not frozenset(something) <= 3:
        pass


class Klass(object):
    """This is also ok"""
    def __ne__(self, other):
        return not self == other