Browse Source

tests/float: Make output of math function tests more readable.

By explicitly naming the function, its arguments, and result.

Signed-off-by: Damien George <damien@micropython.org>
pull/10629/head
Damien George 2 years ago
parent
commit
177ae2f346
  1. 14
      tests/float/math_domain.py
  2. 8
      tests/float/math_domain_special.py
  3. 15
      tests/float/math_fun.py
  4. 6
      tests/float/math_fun_special.py

14
tests/float/math_domain.py

@ -30,12 +30,12 @@ for name, f, args in (
):
for x in args + (inf, -inf, nan):
try:
ans = f(x)
print("%.4f" % ans)
ans = "%.4f" % f(x)
except ValueError:
print(name, "ValueError")
ans = "ValueError"
except OverflowError:
print(name, "OverflowError")
ans = "OverflowError"
print("%s(%.4f) = %s" % (name, x, ans))
# double argument functions
for name, f, args in (
@ -47,7 +47,7 @@ for name, f, args in (
):
for x in args + ((0, inf), (inf, 0), (inf, inf), (inf, nan), (nan, inf), (nan, nan)):
try:
ans = f(*x)
print("%.4f" % ans)
ans = "%.4f" % f(*x)
except ValueError:
print(name, "ValueError")
ans = "ValueError"
print("%s(%.4f, %.4f) = %s" % (name, x[0], x[1], ans))

8
tests/float/math_domain_special.py

@ -29,9 +29,9 @@ for name, f, args in (
):
for x in args + (inf, -inf, nan):
try:
ans = f(x)
print("%.4f" % ans)
ans = "%.4f" % f(x)
except ValueError:
print(name, "ValueError")
ans = "ValueError"
except OverflowError:
print(name, "OverflowError")
ans = "OverflowError"
print("%s(%.4f) = %s" % (name, x, ans))

15
tests/float/math_fun.py

@ -38,12 +38,12 @@ functions = [
]
for function_name, function, test_vals in functions:
print(function_name)
for value in test_vals:
try:
print("{:.5g}".format(function(value)))
ans = "{:.5g}".format(function(value))
except ValueError as e:
print(str(e))
ans = str(e)
print("{}({:.5g}) = {}".format(function_name, value, ans))
tuple_functions = [
("frexp", frexp, test_values),
@ -51,10 +51,9 @@ tuple_functions = [
]
for function_name, function, test_vals in tuple_functions:
print(function_name)
for value in test_vals:
x, y = function(value)
print("{:.5g} {:.5g}".format(x, y))
print("{}({:.5g}) = ({:.5g}, {:.5g})".format(function_name, value, x, y))
binary_functions = [
(
@ -83,9 +82,9 @@ binary_functions = [
]
for function_name, function, test_vals in binary_functions:
print(function_name)
for value1, value2 in test_vals:
try:
print("{:.5g}".format(function(value1, value2)))
ans = "{:.5g}".format(function(value1, value2))
except (ValueError, ZeroDivisionError) as e:
print(type(e))
ans = type(e)
print("{}({:.5g}, {:.5g}) = {}".format(function_name, value1, value2, ans))

6
tests/float/math_fun_special.py

@ -44,9 +44,9 @@ functions = [
]
for function_name, function, test_vals in functions:
print(function_name)
for value in test_vals:
try:
print("{:.4g}".format(function(value)))
ans = "{:.4g}".format(function(value))
except ValueError as e:
print(str(e))
ans = str(e)
print("{}({:.4g}) = {}".format(function_name, value, ans))

Loading…
Cancel
Save