summaryrefslogtreecommitdiff
path: root/jstests/decimal
diff options
context:
space:
mode:
authorDavis Haupt <davis.haupt@mongodb.com>2022-03-14 19:30:24 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-03-14 21:06:22 +0000
commit314a51dc20c5558d802af836ee838a6479ea843a (patch)
tree58a4bf66bb6bde53871b76c3d974a732013d331b /jstests/decimal
parent29bc5f6ed98cfa7e7cccd3eecfce2dee2711ea1e (diff)
downloadmongo-314a51dc20c5558d802af836ee838a6479ea843a.tar.gz
SERVER-64226 Add shell helper to check equality up to a specified number of digits for NumberDecimal
Diffstat (limited to 'jstests/decimal')
-rw-r--r--jstests/decimal/decimal_constructors.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/jstests/decimal/decimal_constructors.js b/jstests/decimal/decimal_constructors.js
index 8af1b6d0f62..630a9b4d3a5 100644
--- a/jstests/decimal/decimal_constructors.js
+++ b/jstests/decimal/decimal_constructors.js
@@ -47,4 +47,17 @@ assert(numberDecimalsEqual(NumberDecimal('10.20'), NumberDecimal('10.2')));
assert.throws(
() => numberDecimalsEqual(NumberDecimal('10.20'), NumberDecimal('10.2'), "Third parameter"));
assert.throws(() => numberDecimalsEqual(NumberDecimal('10.20'), "Wrong parameter type"));
+
+// Verify the behavior of 'numberDecimalsAlmostEqual' helper.
+assert(numberDecimalsAlmostEqual(NumberDecimal("10001"), NumberDecimal("10002"), 3));
+assert.neq(numberDecimalsAlmostEqual(NumberDecimal("10001"), NumberDecimal("10002"), 5));
+
+// Regression tests for BF-24149.
+assert(numberDecimalsAlmostEqual(NumberDecimal("905721242210.0455427920454969568"),
+ NumberDecimal("905721242210.0453137831269007622941"),
+ 15));
+
+assert.neq(numberDecimalsAlmostEqual(NumberDecimal("905721242210.0455427920454969568"),
+ NumberDecimal("905721242210.0453137831269007622941"),
+ 16));
}());