1 # Augmented assignment test.
60 def __init__(self
, value
):
62 def __radd__(self
, val
):
64 def __add__(self
, val
):
65 return aug_test(self
.val
+ val
)
68 class aug_test2(aug_test
):
69 def __iadd__(self
, val
):
70 self
.val
= self
.val
+ val
73 class aug_test3(aug_test
):
74 def __iadd__(self
, val
):
75 return aug_test3(self
.val
+ val
)
81 print isinstance(x
, aug_test
)
96 print isinstance(x
, aug_test3
)
102 def __add__(self
, val
):
103 print "__add__ called"
104 def __radd__(self
, val
):
105 print "__radd__ called"
106 def __iadd__(self
, val
):
107 print "__iadd__ called"
110 def __sub__(self
, val
):
111 print "__sub__ called"
112 def __rsub__(self
, val
):
113 print "__rsub__ called"
114 def __isub__(self
, val
):
115 print "__isub__ called"
118 def __mul__(self
, val
):
119 print "__mul__ called"
120 def __rmul__(self
, val
):
121 print "__rmul__ called"
122 def __imul__(self
, val
):
123 print "__imul__ called"
126 def __div__(self
, val
):
127 print "__div__ called"
128 def __rdiv__(self
, val
):
129 print "__rdiv__ called"
130 def __idiv__(self
, val
):
131 print "__idiv__ called"
134 def __floordiv__(self
, val
):
135 print "__floordiv__ called"
137 def __ifloordiv__(self
, val
):
138 print "__ifloordiv__ called"
140 def __rfloordiv__(self
, val
):
141 print "__rfloordiv__ called"
144 def __truediv__(self
, val
):
145 print "__truediv__ called"
147 def __itruediv__(self
, val
):
148 print "__itruediv__ called"
151 def __mod__(self
, val
):
152 print "__mod__ called"
153 def __rmod__(self
, val
):
154 print "__rmod__ called"
155 def __imod__(self
, val
):
156 print "__imod__ called"
159 def __pow__(self
, val
):
160 print "__pow__ called"
161 def __rpow__(self
, val
):
162 print "__rpow__ called"
163 def __ipow__(self
, val
):
164 print "__ipow__ called"
167 def __or__(self
, val
):
168 print "__or__ called"
169 def __ror__(self
, val
):
170 print "__ror__ called"
171 def __ior__(self
, val
):
172 print "__ior__ called"
175 def __and__(self
, val
):
176 print "__and__ called"
177 def __rand__(self
, val
):
178 print "__rand__ called"
179 def __iand__(self
, val
):
180 print "__iand__ called"
183 def __xor__(self
, val
):
184 print "__xor__ called"
185 def __rxor__(self
, val
):
186 print "__rxor__ called"
187 def __ixor__(self
, val
):
188 print "__ixor__ called"
191 def __rshift__(self
, val
):
192 print "__rshift__ called"
193 def __rrshift__(self
, val
):
194 print "__rrshift__ called"
195 def __irshift__(self
, val
):
196 print "__irshift__ called"
199 def __lshift__(self
, val
):
200 print "__lshift__ called"
201 def __rlshift__(self
, val
):
202 print "__rlshift__ called"
203 def __ilshift__(self
, val
):
204 print "__ilshift__ called"
225 # True division is in effect, so "/" doesn't map to __div__ etc;
226 # but the canned expected-output file requires that those get called.