|
1 | 1 | load(__dirname + '/index.js'); |
2 | 2 |
|
3 | 3 | assert.strictEqual(ObjectId('0123456789abcdef01234567').tojson(), 'ObjectId("0123456789abcdef01234567")'); |
| 4 | + |
4 | 5 | assert.strictEqual(BinData(4, 'abcdefgh').toString(), 'BinData(4,"abcdefgh")'); |
| 6 | + |
| 7 | +assert.strictEqual(NumberLong(2147483647).toString(), 'NumberLong(2147483647)'); |
| 8 | +assert.strictEqual(NumberLong("2147483648").toString(), 'NumberLong("2147483648")'); |
| 9 | +assert.strictEqual(NumberLong(-2147483648).toString(), 'NumberLong(-2147483648)'); |
| 10 | +assert.strictEqual(NumberLong(-2147483649).toString(), 'NumberLong("-2147483649")'); |
| 11 | +assert.strictEqual(NumberLong(9223372036854775807).toString(), 'NumberLong("9223372036854775807")'); |
| 12 | +assert.strictEqual(NumberLong(-9223372036854775808).toString(), 'NumberLong("-9223372036854775808")'); |
| 13 | +const maxLong = NumberLong(9223372036854775807, 2147483647, -1); |
| 14 | +assert.strictEqual(maxLong.floatApprox, 9223372036854775807); |
| 15 | +assert.strictEqual(maxLong.top, 2147483647); |
| 16 | +assert.strictEqual(maxLong.bottom, -1);//mongosh uses signed representation, while old shell uses unsigned |
| 17 | +assert.strictEqual(maxLong.exactValueString, "9223372036854775807"); |
| 18 | +const minLong = NumberLong(-9223372036854775808); |
| 19 | +assert.strictEqual(minLong.floatApprox, -9223372036854776000); |
| 20 | +assert.strictEqual(minLong.top, -2147483648); |
| 21 | +assert.strictEqual(minLong.bottom, 0); |
| 22 | +assert.strictEqual(minLong.exactValueString, "-9223372036854775808"); |
| 23 | +const nl2 = NumberLong("200"); |
| 24 | +assert.strictEqual(maxLong.compare(nl2), 1); |
0 commit comments