@@ -314,6 +314,35 @@ def test_operations(self):
314314 assert bag_0 // 2 == self .bag_type ('bc' )
315315 assert bag_1 // 2 == self .bag_type ('c' )
316316 assert bag_2 // 2 == self .bag_type ('dd' )
317+ assert bag_0 // self .bag_type ('ab' ) == 1
318+ assert bag_1 // self .bag_type ('ab' ) == 0
319+ assert bag_2 // self .bag_type ('ab' ) == 0
320+
321+ assert bag_0 % 2 == self .bag_type ('abcc' )
322+ assert bag_1 % 2 == self .bag_type ('bc' )
323+ assert bag_2 % 2 == self .bag_type ('cdd' )
324+ assert bag_0 % 'ab' == self .bag_type ('bccc' )
325+ assert bag_1 % 'ab' == bag_1
326+ assert bag_2 % 'ab' == bag_2
327+
328+ assert bag_0 ** 2 == pow (bag_0 , 2 ) == self .bag_type ('abbbbccccccccc' )
329+ assert bag_1 ** 2 == pow (bag_1 , 2 ) == self .bag_type ('bcccc' )
330+ assert bag_2 ** 2 == pow (bag_2 , 2 ) == \
331+ self .bag_type ('cddddddddddddddddddddddddd' )
332+ assert pow (bag_0 , 2 , 3 ) == self .bag_type ('ab' )
333+ assert pow (bag_1 , 2 , 3 ) == self .bag_type ('bc' )
334+ assert pow (bag_2 , 2 , 3 ) == self .bag_type ('cd' )
335+
336+ assert divmod (bag_0 , 3 ) == (bag_0 // 3 , bag_0 % 3 )
337+ assert divmod (bag_1 , 3 ) == (bag_1 // 3 , bag_1 % 3 )
338+ assert divmod (bag_2 , 3 ) == (bag_2 // 3 , bag_2 % 3 )
339+ assert divmod (bag_0 , self .bag_type ('cd' )) == \
340+ (bag_0 // self .bag_type ('cd' ), bag_0 % self .bag_type ('cd' ))
341+ assert divmod (bag_1 , self .bag_type ('cd' )) == \
342+ (bag_1 // self .bag_type ('cd' ), bag_1 % self .bag_type ('cd' ))
343+ assert divmod (bag_2 , self .bag_type ('cd' )) == \
344+ (bag_2 // self .bag_type ('cd' ), bag_2 % self .bag_type ('cd' ))
345+
317346
318347 # blocktodo: continue for all operations
319348
0 commit comments