diff options
Diffstat (limited to 'jstests/decimal/decimal_constructors.js')
-rw-r--r-- | jstests/decimal/decimal_constructors.js | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/jstests/decimal/decimal_constructors.js b/jstests/decimal/decimal_constructors.js index 387a1bee1a9..8af1b6d0f62 100644 --- a/jstests/decimal/decimal_constructors.js +++ b/jstests/decimal/decimal_constructors.js @@ -37,4 +37,14 @@ assert.eq(col.find({'d': NumberLong(1)}).count(), '4'); assert.eq(col.find({'d': NumberInt(1)}).count(), '4'); // NaN and -NaN are both evaluated to NaN assert.eq(col.find({'d': NumberDecimal('NaN')}).count(), 2); + +// Verify that shell 'assert.eq' considers precision during comparison. +assert.neq(NumberDecimal('1'), NumberDecimal('1.000')); +assert.neq(NumberDecimal('0'), NumberDecimal('-0')); + +// Verify the behavior of 'numberDecimalsEqual' helper. +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")); }()); |