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));