2023-11-16 10:14:14 +08:00
|
|
|
const { MinHeap } = require('heap-typed');
|
2023-08-31 00:18:13 +08:00
|
|
|
|
|
|
|
describe('JS Heap Operation Test', () => {
|
2023-09-19 17:00:25 +08:00
|
|
|
it('should numeric heap work well', function () {
|
|
|
|
const minNumHeap = new MinHeap();
|
2024-10-30 15:30:28 +13:00
|
|
|
minNumHeap.add(1);
|
|
|
|
minNumHeap.add(6);
|
|
|
|
minNumHeap.add(2);
|
|
|
|
minNumHeap.add(0);
|
|
|
|
minNumHeap.add(5);
|
|
|
|
minNumHeap.add(9);
|
2023-09-19 17:00:25 +08:00
|
|
|
expect(minNumHeap.poll()).toBe(0);
|
|
|
|
expect(minNumHeap.poll()).toBe(1);
|
|
|
|
expect(minNumHeap.peek()).toBe(2);
|
|
|
|
expect(minNumHeap.toArray().length).toBe(4);
|
|
|
|
expect(minNumHeap.toArray()[0]).toBe(2);
|
|
|
|
expect(minNumHeap.toArray()[1]).toBe(5);
|
|
|
|
expect(minNumHeap.toArray()[2]).toBe(9);
|
|
|
|
expect(minNumHeap.toArray()[3]).toBe(6);
|
|
|
|
});
|
2023-08-31 00:18:13 +08:00
|
|
|
});
|