generated from michael/webpack-base
32 lines
739 B
TypeScript
32 lines
739 B
TypeScript
import IOSet from '../site/snake/ioset';
|
|
import { addTest, assert, assertArrayEqual } from './tests';
|
|
|
|
function testOrderMaintained() {
|
|
const s = new IOSet();
|
|
s.add('A');
|
|
s.add('B');
|
|
s.add('C');
|
|
s.add('D');
|
|
s.add('E');
|
|
s.add('F');
|
|
assert(s.size === 6);
|
|
assertArrayEqual(Array.from(s), ['A', 'B', 'C', 'D', 'E', 'F']);
|
|
}
|
|
addTest(testOrderMaintained);
|
|
|
|
function testOrderMaintainedWithDelete() {
|
|
const s = new IOSet();
|
|
s.add('A');
|
|
s.add('B');
|
|
s.add('C');
|
|
s.add('D');
|
|
s.add('E');
|
|
s.delete('D');
|
|
s.add('F');
|
|
s.delete('B');
|
|
s.add('G');
|
|
assert(s.size === 5);
|
|
assertArrayEqual(Array.from(s), ['A', 'C', 'E', 'F', 'G']);
|
|
}
|
|
addTest(testOrderMaintainedWithDelete);
|