Range - bhsd-harry/wikiparser-node GitHub Wiki
This is an internal document. For visitors, you can now go back to the home page.
// Range (main)
var {Range} = require('../lib/ranges');
assert.deepStrictEqual({...new Range(' odd ')}, {
start: 1,
end: Infinity,
step: 2,
});
assert.deepStrictEqual({...new Range(' even ')}, {
start: 0,
end: Infinity,
step: 2,
});
assert.deepStrictEqual({...new Range(' : ')}, {
start: 0,
end: Infinity,
step: 1,
});
assert.deepStrictEqual({...new Range(' -1 : -2 : -3 ')}, {
start: -1,
end: -2,
step: 1,
});
assert.deepStrictEqual({...new Range(' n ')}, {
start: 0,
end: Infinity,
step: 1,
});
assert.deepStrictEqual({...new Range(' n + 0 ')}, {
start: 0,
end: Infinity,
step: 1,
});
assert.deepStrictEqual({...new Range(' n - 0 ')}, {
start: 0,
end: Infinity,
step: 1,
});
assert.deepStrictEqual({...new Range(' n + 1 ')}, {
start: 1,
end: Infinity,
step: 1,
});
assert.deepStrictEqual({...new Range(' n - 1 ')}, {
start: 0,
end: Infinity,
step: 1,
});
assert.deepStrictEqual({...new Range(' 2n ')}, {
start: 0,
end: Infinity,
step: 2,
});
assert.deepStrictEqual({...new Range(' 2n + 0 ')}, {
start: 0,
end: Infinity,
step: 2,
});
assert.deepStrictEqual({...new Range(' 2n - 0 ')}, {
start: 0,
end: Infinity,
step: 2,
});
assert.deepStrictEqual({...new Range(' 2n + 1 ')}, {
start: 1,
end: Infinity,
step: 2,
});
assert.deepStrictEqual({...new Range(' 3n - 4 ')}, {
start: 2,
end: Infinity,
step: 3,
});
assert.deepStrictEqual({...new Range(' -n ')}, {
start: 0,
end: 1,
step: 1,
});
assert.deepStrictEqual({...new Range(' -n + 0 ')}, {
start: 0,
end: 1,
step: 1,
});
assert.deepStrictEqual({...new Range(' -n - 0 ')}, {
start: 0,
end: 1,
step: 1,
});
assert.deepStrictEqual({...new Range(' -n + 1 ')}, {
start: 0,
end: 2,
step: 1,
});
assert.deepStrictEqual({...new Range(' -n - 1 ')}, {
start: 0,
end: 0,
step: 1,
});
assert.deepStrictEqual({...new Range(' -2n ')}, {
start: 0,
end: 2,
step: 2,
});
assert.deepStrictEqual({...new Range(' -2n + 0 ')}, {
start: 0,
end: 2,
step: 2,
});
assert.deepStrictEqual({...new Range(' -2n - 0 ')}, {
start: 0,
end: 2,
step: 2,
});
assert.deepStrictEqual({...new Range(' -3n + 4 ')}, {
start: 1,
end: 7,
step: 3,
});
assert.deepStrictEqual({...new Range(' -3n - 1 ')}, {
start: 0,
end: 0,
step: 3,
});
// has (main)
var {Range} = require('../lib/ranges');
assert.ok(!new Range('1:3:2').has(0, 10));
assert.ok(new Range('1:3:2').has(1, 10));
assert.ok(!new Range('1:3:2').has(2, 10));
assert.ok(!new Range('1:3:2').has(3, 10));
assert.ok(!new Range('-9:-7:2').has(0, 10));
assert.ok(new Range('-9:-7:2').has(1, 10));
assert.ok(!new Range('-9:-7:2').has(2, 10));
assert.ok(!new Range('-9:-7:2').has(3, 10));
assert.ok(new Range('-9:3:2').has(0, 5));
assert.ok(!new Range('-9:3:2').has(1, 5));
assert.ok(new Range('-9:3:2').has(2, 5));
assert.ok(!new Range('-9:3:2').has(3, 5));