summaryrefslogtreecommitdiff
path: root/tests/run/modop.pyx
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run/modop.pyx')
-rw-r--r--tests/run/modop.pyx64
1 files changed, 61 insertions, 3 deletions
diff --git a/tests/run/modop.pyx b/tests/run/modop.pyx
index 44dea3abc..f2297bf4f 100644
--- a/tests/run/modop.pyx
+++ b/tests/run/modop.pyx
@@ -9,7 +9,7 @@ def modobj(obj2, obj3):
'5'
>>> modobj(1, 0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: integer ...
+ ZeroDivisionError: integer... by zero
"""
obj1 = obj2 % obj3
return obj1
@@ -19,11 +19,22 @@ def mod_10_obj(int2):
"""
>>> mod_10_obj(0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: integer ...
+ ZeroDivisionError: ... by zero
+ >>> 10 % 1
+ 0
+ >>> mod_10_obj(1)
+ 0
>>> mod_10_obj(3)
1
+ >>> 10 % -1
+ 0
+ >>> mod_10_obj(-1)
+ 0
+ >>> mod_10_obj(-10)
+ 0
"""
- return 10 % int2
+ int1 = 10 % int2
+ return int1
def mod_obj_10(int2):
@@ -168,6 +179,53 @@ def mod_obj_17(int2):
return int1
+def mod_int_17(int int2):
+ """
+ >>> 0 % 17
+ 0
+ >>> mod_int_17(0)
+ 0
+ >>> 1 % 17
+ 1
+ >>> mod_int_17(1)
+ 1
+ >>> (-1) % 17
+ 16
+ >>> mod_int_17(-1)
+ 16
+ >>> 9 % 17
+ 9
+ >>> mod_int_17(16)
+ 16
+ >>> 17 % 17
+ 0
+ >>> mod_int_17(17)
+ 0
+ >>> (-17) % 17
+ 0
+ >>> mod_int_17(-17)
+ 0
+ >>> (-18) % 17
+ 16
+ >>> mod_int_17(-18)
+ 16
+ >>> 10002 % 17
+ 6
+ >>> mod_int_17(10002)
+ 6
+ >>> int((2**25) % 17)
+ 2
+ >>> int(mod_int_17(2**25))
+ 2
+ >>> int((-2**25) % 17)
+ 15
+ >>> int(mod_int_17(-2**25))
+ 15
+ """
+ int1 = int2 % 17
+ return int1
+
+
def mod_obj_m2(int2):
"""
>>> 0 % -2