From 8e38d4c1583dc67cb136b2f31cbbda9db8052116 Mon Sep 17 00:00:00 2001 From: EugeneTes Date: Fri, 12 Jun 2026 14:03:46 +0000 Subject: [PATCH] test: assert stable tie-breaking under load (review) --- tests/events.test.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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; } }); });