25 lines
632 B
JavaScript
25 lines
632 B
JavaScript
import assert from 'node:assert';
|
|
import { TreapSet } from '../src/misc/treap.js';
|
|
|
|
describe('TreapSet', function () {
|
|
it('hasInstance', function() {
|
|
let t = new TreapSet();
|
|
assert.equal(t.takeInstance(), null);
|
|
t.insertRaw(2);
|
|
assert.equal(t.takeInstance(), 2);
|
|
});
|
|
|
|
it('erase', function () {
|
|
let t = new TreapSet();
|
|
t.insertRaw(2).insertRaw(3).erase(2);
|
|
assert.equal(t.takeInstance(), 3);
|
|
});
|
|
|
|
it('forEach', function() {
|
|
let t = new TreapSet();
|
|
t.insertRaw(2).insertRaw(3).insertRaw(-1).insertRaw(0).insertRaw(10);
|
|
let a = [];
|
|
t.forEach(x => a.push(x));
|
|
assert.deepEqual(a, [-1, 0, 2, 3, 10])
|
|
});
|
|
}); |