summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/class_reverse_op.py
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2017-09-10 17:05:31 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2017-09-10 17:05:57 +0300
commitd6f9d64d97af245d042cbab8438dde25a29c504f (patch)
treebb5c5b3c758c2f6909565aa7f2e425ca4b464e05 /tests/basics/class_reverse_op.py
parenteb84a830df62813f5af7f0144fc77444bf18f3a8 (diff)
downloadmicropython-d6f9d64d97af245d042cbab8438dde25a29c504f.tar.gz
micropython-d6f9d64d97af245d042cbab8438dde25a29c504f.zip
tests/class_reverse_op: Test for reverse arith ops special methods.
This test should be run only if support for reverse ops is enabled, so the corresponding feature_check is added to run-tests.
Diffstat (limited to 'tests/basics/class_reverse_op.py')
-rw-r--r--tests/basics/class_reverse_op.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/basics/class_reverse_op.py b/tests/basics/class_reverse_op.py
new file mode 100644
index 0000000000..d41c55c9d7
--- /dev/null
+++ b/tests/basics/class_reverse_op.py
@@ -0,0 +1,18 @@
+class A:
+
+ def __init__(self, v):
+ self.v = v
+
+ def __add__(self, o):
+ if isinstance(o, A):
+ return A(self.v + o.v)
+ return A(self.v + o)
+
+ def __radd__(self, o):
+ return A(self.v + o)
+
+ def __repr__(self):
+ return "A(%s)" % self.v
+
+print(A(3) + 1)
+print(2 + A(5))