tests/basics/special_methods: Enable tests for extra special methods.

These additional special methods are enabled on most ports so we can test
them in this test.
This commit is contained in:
Damien George 2016-08-17 12:38:19 +10:00
parent f003310dee
commit bb19e7b94b

View File

@ -85,8 +85,17 @@ class Cud():
def __xor__(self, other): def __xor__(self, other):
print("__xor__ called") print("__xor__ called")
def __iadd__(self, other):
print("__iadd__ called")
return self
def __isub__(self, other):
print("__isub__ called")
return self
cud1 = Cud() cud1 = Cud()
cud2 = Cud() cud2 = Cud()
str(cud1) str(cud1)
cud1 < cud2 cud1 < cud2
cud1 <= cud2 cud1 <= cud2
@ -94,6 +103,17 @@ cud1 == cud2
cud1 >= cud2 cud1 >= cud2
cud1 > cud2 cud1 > cud2
cud1 + cud2 cud1 + cud2
cud1 - cud2
# the following require MICROPY_PY_ALL_SPECIAL_METHODS
+cud1
-cud1
~cud1
cud1 * cud2
cud1 / cud2
cud2 // cud1
cud1 += cud2
cud1 -= cud2
# TODO: the following operations are not supported on every ports # TODO: the following operations are not supported on every ports
# #
@ -103,48 +123,21 @@ cud1 + cud2
# binary and is not supported # binary and is not supported
# cud1 & cud2 # cud1 & cud2
# #
# floor div is not supported on the qemu arm port
# cud2 // cud1
#
# inv is not supported on the qemu arm port
# ~cud1
#
# binary lshift is not supported # binary lshift is not supported
# cud1<<1 # cud1<<1
# #
# modulus is not supported # modulus is not supported
# cud1 % 2 # cud1 % 2
# #
# mult is not supported on the qemu arm port
# cud1 * cud2
#
# mult is not supported on the qemu arm port
# cud1 * 2
#
# inv is not supported on the qemu arm port
# -cud1
#
# binary or is not supported # binary or is not supported
# cud1 | cud2 # cud1 | cud2
# #
# pos is not supported on the qemu arm port
# +cud1
#
# pow is not supported # pow is not supported
# cud1**2 # cud1**2
# #
# rshift is not suported # rshift is not suported
# cud1>>1 # cud1>>1
# #
# sub is not supported on the qemu arm port
# cud1 - cud2
#
# div is not supported on the qemu arm port
# cud1 / cud2
#
# div is not supported on the qemu arm port
# cud1 / 2
#
# xor is not supported # xor is not supported
# cud1^cud2 # cud1^cud2
# #