diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2017-09-10 17:05:31 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2017-09-10 17:05:57 +0300 |
commit | d6f9d64d97af245d042cbab8438dde25a29c504f (patch) | |
tree | bb5c5b3c758c2f6909565aa7f2e425ca4b464e05 /tests/basics/class_reverse_op.py | |
parent | eb84a830df62813f5af7f0144fc77444bf18f3a8 (diff) | |
download | micropython-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.py | 18 |
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)) |