#!/usr/bin/env python # (C) 2000 Gregory Lielens # Huaiyu Zhu # 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