diff --git a/tests/events.test.js b/tests/events.test.js index 60c3d46..1ffc43c 100644 --- a/tests/events.test.js +++ b/tests/events.test.js @@ -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; } }); });