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
|