summaryrefslogtreecommitdiff
path: root/pylint/test/functional/unsupported_binary_operation.py
blob: 2ecf055576caf82b5c94b110f279e4c2de5bed4d (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
"""Test for unsupported-binary-operation."""
# pylint: disable=missing-docstring,too-few-public-methods,pointless-statement
# pylint: disable=expression-not-assigned, invalid-name


import collections


1 + "a" # [unsupported-binary-operation]
1 - [] # [unsupported-binary-operation]
1 * {} # [unsupported-binary-operation]
1 / collections # [unsupported-binary-operation]
1 ** (lambda x: x) # [unsupported-binary-operation]
{} * {} # [unsupported-binary-operation]
{} - {} # [unsupported-binary-operation]
{} | {} # [unsupported-binary-operation]
{} >> {} # [unsupported-binary-operation]
[] + () # [unsupported-binary-operation]
() + [] # [unsupported-binary-operation]
[] * 2.0 # [unsupported-binary-operation]
() * 2.0 # [unsupported-binary-operation]
2.0 >> 2.0 # [unsupported-binary-operation]
class A(object):
    pass
class B(object):
    pass
A() + B() # [unsupported-binary-operation]
class A1(object):
    def __add__(self, other):
        return NotImplemented

A1() + A1() # [unsupported-binary-operation]

class A2(object):
    def __add__(self, other):
        return NotImplemented
class B2(object):
    def __radd__(self, other):
        return NotImplemented
A2() + B2() # [unsupported-binary-operation]

class Parent(object):
    pass
class Child(Parent):
    def __add__(self, other):
        return NotImplemented
Child() + Parent() # [unsupported-binary-operation]
class A3(object):
    def __add__(self, other):
        return NotImplemented
class B3(A3):
    def __radd__(self, other):
        return NotImplemented
A3() + B3() # [unsupported-binary-operation]
# Augmented
FFF = 1
FFF += A() # [unsupported-binary-operation]
TTT = 1
TTT += [] # [unsupported-binary-operation]