Lines Matching refs:queue
10 // Checks that the queue is fundamentally correct.
11 const queue = new PriorityQueue();
13 queue.insert(i);
16 assert.strictEqual(queue.peek(), i);
17 assert.strictEqual(queue.shift(), i);
20 assert.strictEqual(queue.shift(), undefined);
24 queue.insert(i);
27 assert.strictEqual(queue.shift(), i);
30 assert.strictEqual(queue.shift(), undefined);
34 // Checks that the queue is capable of resizing and fitting more elements.
35 const queue = new PriorityQueue();
37 queue.insert(i);
40 assert.strictEqual(queue.shift(), i);
43 assert.strictEqual(queue.shift(), undefined);
48 const queue = new PriorityQueue((a, b) => b - a);
50 queue.insert(i);
53 assert.strictEqual(queue.shift(), i);
56 assert.strictEqual(queue.shift(), undefined);
64 const queue = new PriorityQueue((a, b) => {
68 queue.insert({ value: i, position: null });
71 assert.strictEqual(queue.peek().value, i);
72 queue.removeAt(queue.peek().position);
75 assert.strictEqual(queue.peek(), undefined);
79 const queue = new PriorityQueue((a, b) => {
83 queue.insert({ value: 1, position: null });
84 queue.insert({ value: 2, position: null });
85 queue.insert({ value: 3, position: null });
86 queue.insert({ value: 4, position: null });
87 queue.insert({ value: 5, position: null });
89 queue.insert({ value: 2, position: null });
91 queue.insert(secondLargest);
93 queue.insert(largest);
95 queue.removeAt(5);
99 queue.removeAt(6);
103 queue.removeAt(6);
105 assert.strictEqual(queue.shift().value, 1);
106 assert.strictEqual(queue.shift().value, 2);
107 assert.strictEqual(queue.shift().value, 2);
108 assert.strictEqual(queue.shift().value, 4);
109 assert.strictEqual(queue.shift().value, 15);
111 assert.strictEqual(queue.shift(), undefined);
117 const queue = new PriorityQueue((a, b) => {
125 queue.insert({ value: 1, position: null });
126 queue.insert({ value: 6, position: null });
127 queue.insert({ value: 2, position: null });
128 queue.insert(i7);
129 queue.insert(i8);
130 queue.insert(i3);
133 queue.removeAt(4);
138 queue.removeAt(2);