test: assert stable tie-breaking under load (review)
This commit is contained in:
@@ -32,15 +32,18 @@ describe('EventQueue', () => {
|
||||
expect(q.peek()).toBeNull();
|
||||
});
|
||||
|
||||
it('survives a large randomized load in order', () => {
|
||||
it('survives a large permuted load in order, stable within equal times', () => {
|
||||
const q = new EventQueue();
|
||||
const times = Array.from({ length: 500 }, (_, i) => (i * 7919) % 1000);
|
||||
for (const t of times) q.push(t, 'e', {});
|
||||
let last = -1;
|
||||
let last = null;
|
||||
while (q.size > 0) {
|
||||
const e = q.pop();
|
||||
expect(e.time).toBeGreaterThanOrEqual(last);
|
||||
last = e.time;
|
||||
if (last) {
|
||||
expect(e.time).toBeGreaterThanOrEqual(last.time);
|
||||
if (e.time === last.time) expect(e.seq).toBeGreaterThan(last.seq);
|
||||
}
|
||||
last = e;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user