blob: 0bfe1d16a10eeb87d22fee1abeb17581f1b7c935 [file] [log] [blame]
"""Test for unsupported-binary-operation."""
# pylint: disable=missing-docstring,too-few-public-methods,pointless-statement
# pylint: disable=expression-not-assigned, invalid-name, useless-object-inheritance
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]
# Don't emit for this case since we don't know what unknown is.
from unknown import Unknown
class Base(Unknown):
pass
Base() * 23