aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJan Klusacek2018-01-09 22:47:35 +0100
committerDamien George2018-05-22 14:18:16 +1000
commitb318ebf1015ced6354f8bbaf035308214b3f5c5d (patch)
tree07d98e13d450884a046ff822702f787d76c2ba7a /tests
parentf2ec7925542e5a75b2da7ef378f5df66fdb6fad9 (diff)
py/modbuiltins: Add support for rounding integers.
As per CPython semantics. This feature is controlled by MICROPY_PY_BUILTINS_ROUND_INT which is disabled by default.
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/builtin_round_int.py18
-rw-r--r--tests/basics/builtin_round_intbig.py17
2 files changed, 35 insertions, 0 deletions
diff --git a/tests/basics/builtin_round_int.py b/tests/basics/builtin_round_int.py
new file mode 100644
index 000000000..a2017622a
--- /dev/null
+++ b/tests/basics/builtin_round_int.py
@@ -0,0 +1,18 @@
+# test round() with integer values and second arg
+
+# rounding integers is an optional feature so test for it
+try:
+ round(1, -1)
+except NotImplementedError:
+ print('SKIP')
+ raise SystemExit
+
+tests = [
+ (1, False), (1, True),
+ (124, -1), (125, -1), (126, -1),
+ (5, -1), (15, -1), (25, -1),
+ (12345, 0), (12345, -1), (12345, 1),
+ (-1234, 0), (-1234, -1), (-1234, 1),
+]
+for t in tests:
+ print(round(*t))
diff --git a/tests/basics/builtin_round_intbig.py b/tests/basics/builtin_round_intbig.py
new file mode 100644
index 000000000..adf9d29f2
--- /dev/null
+++ b/tests/basics/builtin_round_intbig.py
@@ -0,0 +1,17 @@
+# test round() with large integer values and second arg
+
+# rounding integers is an optional feature so test for it
+try:
+ round(1, -1)
+except NotImplementedError:
+ print('SKIP')
+ raise SystemExit
+
+i = 2**70
+
+tests = [
+ (i, 0), (i, -1), (i, -10), (i, 1),
+ (-i, 0), (-i, -1), (-i, -10), (-i, 1),
+]
+for t in tests:
+ print(round(*t))