Development of an internal social media platform with personalised dashboards for students
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

unsupported_binary_operation.py 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. """Test for unsupported-binary-operation."""
  2. # pylint: disable=missing-docstring,too-few-public-methods,pointless-statement
  3. # pylint: disable=expression-not-assigned, invalid-name
  4. import collections
  5. 1 + "a" # [unsupported-binary-operation]
  6. 1 - [] # [unsupported-binary-operation]
  7. 1 * {} # [unsupported-binary-operation]
  8. 1 / collections # [unsupported-binary-operation]
  9. 1 ** (lambda x: x) # [unsupported-binary-operation]
  10. {} * {} # [unsupported-binary-operation]
  11. {} - {} # [unsupported-binary-operation]
  12. {} | {} # [unsupported-binary-operation]
  13. {} >> {} # [unsupported-binary-operation]
  14. [] + () # [unsupported-binary-operation]
  15. () + [] # [unsupported-binary-operation]
  16. [] * 2.0 # [unsupported-binary-operation]
  17. () * 2.0 # [unsupported-binary-operation]
  18. 2.0 >> 2.0 # [unsupported-binary-operation]
  19. class A(object):
  20. pass
  21. class B(object):
  22. pass
  23. A() + B() # [unsupported-binary-operation]
  24. class A1(object):
  25. def __add__(self, other):
  26. return NotImplemented
  27. A1() + A1() # [unsupported-binary-operation]
  28. class A2(object):
  29. def __add__(self, other):
  30. return NotImplemented
  31. class B2(object):
  32. def __radd__(self, other):
  33. return NotImplemented
  34. A2() + B2() # [unsupported-binary-operation]
  35. class Parent(object):
  36. pass
  37. class Child(Parent):
  38. def __add__(self, other):
  39. return NotImplemented
  40. Child() + Parent() # [unsupported-binary-operation]
  41. class A3(object):
  42. def __add__(self, other):
  43. return NotImplemented
  44. class B3(A3):
  45. def __radd__(self, other):
  46. return NotImplemented
  47. A3() + B3() # [unsupported-binary-operation]
  48. # Augmented
  49. FFF = 1
  50. FFF += A() # [unsupported-binary-operation]
  51. TTT = 1
  52. TTT += [] # [unsupported-binary-operation]
  53. # Don't emit for this case since we don't know what unknown is.
  54. from unknown import Unknown
  55. class Base(Unknown):
  56. pass
  57. Base() * 23