#!/usr/bin/env python
# (C) 2000 Gregory Lielens <gregory.lielens@fft.be>
# Huaiyu Zhu <hzhu@users.sourceforge.net>
# Licence: GPL
# $Id: test_t_op.py,v 1.1 2000/09/18 06:23:31 hzhu Exp $
# Test tilder operators
class testall:
def __add__(self, val): print "__add__ called"
def __radd__(self, val): print "__radd__ called"
def __tadd__(self, val): print "__tadd__ called"
def __rtadd__(self, val): print "__rtadd__ called"
def __sub__(self, val): print "__sub__ called"
def __rsub__(self, val): print "__rsub__ called"
def __tsub__(self, val): print "__tsub__ called"
def __rtsub__(self, val): print "__rtsub__ called"
def __mul__(self, val): print "__mul__ called"
def __rmul__(self, val): print "__rmul__ called"
def __tmul__(self, val): print "__tmul__ called"
def __rtmul__(self, val): print "__rtmul__ called"
def __div__(self, val): print "__div__ called"
def __rdiv__(self, val): print "__rdiv__ called"
def __tdiv__(self, val): print "__tdiv__ called"
def __rtdiv__(self, val): print "__rtdiv__ called"
def __mod__(self, val): print "__mod__ called"
def __rmod__(self, val): print "__rmod__ called"
def __tmod__(self, val): print "__tmod__ called"
def __rtmod__(self, val): print "__rtmod__ called"
def __pow__(self, val): print "__pow__ called"
def __rpow__(self, val): print "__rpow__ called"
def __tpow__(self, val): print "__tpow__ called"
def __rtpow__(self, val): print "__rtpow__ called"
if __name__ == "__main__":
a = testall()
a+1, a~+1, 1+a, 1~+a,
a-1, a~-1, 1-a, 1~-a,
a*1, a~*1, 1*a, 1~*a,
a/1, a~/1, 1/a, 1~/a,
a%1, a~%1, 1%a, 1~%a,
a**1, a~**1, 1**a, 1~**a,
print "-"*40
b = c = d = e = a
print a ~+ b * c ~* e
print a~/b~*c ~- d
print [1, 2] ~+ [3, 4]
print "-"*40
a = 2.
assert a+1 == a~+1 == 1+a == 1~+a
assert a-1 == a~-1 == -(1-a) == -(1~-a)
assert a*1 == a~*1 == 1*a == 1~*a
assert a/1 == a~/1 == 1/(1/a) == 1/(1~/a)
assert a%1 == a~%1
assert a**1 == a~**1
|