Skip to content

Commit c761205

Browse files
committed
test: add extreme value cases for high-precision scientific format
Motivation: The original test only covered precision 16-20 with moderate values. Double.MaxValue, the smallest subnormal, and precision > 20 were verified manually but not regression-protected. Modification: Add assertions for Double.MaxValue (%.20e), smallest subnormal 5e-324 (%.20e), precision 40, precision 25, and pi at precision 30. Result: Extreme edge cases are now locked in against future regressions.
1 parent eb3f89d commit c761205

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

sjsonnet/test/resources/new_test_suite/format_scientific_high_precision.jsonnet

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,9 @@ std.assertEqual(std.format("%.16e", 1.00000762939453125), "1.0000076293945312e+0
1212
std.assertEqual(std.format("%.16e", -1.00000762939453125), "-1.0000076293945312e+00") &&
1313
std.assertEqual(std.format("%.16e", 0), "0.0000000000000000e+00") &&
1414
std.assertEqual(std.format("%.16e", -0.0), "-0.0000000000000000e+00") &&
15+
std.assertEqual(std.format("%.20e", 1.7976931348623157e308), "1.79769313486231570815e+308") &&
16+
std.assertEqual(std.format("%.20e", 5e-324), "4.94065645841246544177e-324") &&
17+
std.assertEqual(std.format("%.40e", 1.0), "1.0000000000000000000000000000000000000000e+00") &&
18+
std.assertEqual(std.format("%.25e", 0.1), "1.0000000000000000555111512e-01") &&
19+
std.assertEqual(std.format("%.30e", 3.14159265358979323), "3.141592653589793115997963468544e+00") &&
1520
true

0 commit comments

Comments
 (0)