mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-12-02 10:05:49 +00:00
move tests to TypeScript
This commit is contained in:
80
test/rangeset-test.ts
Normal file
80
test/rangeset-test.ts
Normal file
@@ -0,0 +1,80 @@
|
||||
import assert from 'assert';
|
||||
import {RippleAPI} from 'ripple-api';
|
||||
const RangeSet = RippleAPI._PRIVATE.RangeSet;
|
||||
|
||||
describe('RangeSet', function() {
|
||||
it('addRange()/addValue()', function() {
|
||||
const r = new RangeSet();
|
||||
|
||||
r.addRange(4, 5);
|
||||
r.addRange(7, 10);
|
||||
r.addRange(1, 2);
|
||||
r.addValue(3);
|
||||
|
||||
assert.deepEqual(r.serialize(), '1-5,7-10');
|
||||
});
|
||||
|
||||
it('addValue()/addRange() -- malformed', function() {
|
||||
const r = new RangeSet();
|
||||
assert.throws(function() {
|
||||
r.addRange(2, 1);
|
||||
});
|
||||
});
|
||||
|
||||
it('parseAndAddRanges()', function() {
|
||||
const r = new RangeSet();
|
||||
r.parseAndAddRanges('4-5,7-10,1-2,3-3');
|
||||
assert.deepEqual(r.serialize(), '1-5,7-10');
|
||||
});
|
||||
it('parseAndAddRanges() -- single ledger', function() {
|
||||
const r = new RangeSet();
|
||||
|
||||
r.parseAndAddRanges('3');
|
||||
assert.strictEqual(r.serialize(), '3-3');
|
||||
assert(r.containsValue(3));
|
||||
assert(!r.containsValue(0));
|
||||
assert(!r.containsValue(2));
|
||||
assert(!r.containsValue(4));
|
||||
assert(r.containsRange(3, 3));
|
||||
assert(!r.containsRange(2, 3));
|
||||
assert(!r.containsRange(3, 4));
|
||||
|
||||
r.parseAndAddRanges('1-5');
|
||||
assert.strictEqual(r.serialize(), '1-5');
|
||||
assert(r.containsValue(3));
|
||||
assert(r.containsValue(1));
|
||||
assert(r.containsValue(5));
|
||||
assert(!r.containsValue(6));
|
||||
assert(!r.containsValue(0));
|
||||
assert(r.containsRange(1, 5));
|
||||
assert(r.containsRange(2, 4));
|
||||
assert(!r.containsRange(1, 6));
|
||||
assert(!r.containsRange(0, 3));
|
||||
});
|
||||
|
||||
it('containsValue()', function() {
|
||||
const r = new RangeSet();
|
||||
|
||||
r.addRange(32570, 11005146);
|
||||
r.addValue(11005147);
|
||||
|
||||
assert.strictEqual(r.containsValue(1), false);
|
||||
assert.strictEqual(r.containsValue(32569), false);
|
||||
assert.strictEqual(r.containsValue(32570), true);
|
||||
assert.strictEqual(r.containsValue(50000), true);
|
||||
assert.strictEqual(r.containsValue(11005146), true);
|
||||
assert.strictEqual(r.containsValue(11005147), true);
|
||||
assert.strictEqual(r.containsValue(11005148), false);
|
||||
assert.strictEqual(r.containsValue(12000000), false);
|
||||
});
|
||||
|
||||
it('reset()', function() {
|
||||
const r = new RangeSet();
|
||||
|
||||
r.addRange(4, 5);
|
||||
r.addRange(7, 10);
|
||||
r.reset();
|
||||
|
||||
assert.deepEqual(r.serialize(), '');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user