mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-19 19:55:51 +00:00
* sets up linting config and runs `yarn lint --fix` once, so that all changes will show up correctly in future PRs. * Note that there are still a lot of linter errors.
81 lines
2.2 KiB
TypeScript
81 lines
2.2 KiB
TypeScript
import assert from "assert";
|
|
|
|
import RangeSet from "xrpl-local/client/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(), "");
|
|
});
|
|
});
|