From 8fbb0eefd36dcf4a95ea3cfedd216b4e49635826 Mon Sep 17 00:00:00 2001 From: Shakker Date: Tue, 12 May 2026 02:20:11 +0100 Subject: [PATCH] test: assert compaction split layouts --- src/agents/compaction.test.ts | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/agents/compaction.test.ts b/src/agents/compaction.test.ts index 13e87875121..b2f0c521cd3 100644 --- a/src/agents/compaction.test.ts +++ b/src/agents/compaction.test.ts @@ -89,10 +89,10 @@ describe("splitMessagesByTokenShare", () => { const messages = makeMessages(4, 4000); const parts = splitMessagesByTokenShare(messages, 2); - expect(parts.length).toBeGreaterThanOrEqual(2); - expect(parts[0]?.length).toBeGreaterThan(0); - expect(parts[1]?.length).toBeGreaterThan(0); - expect(parts.flat().length).toBe(messages.length); + expect(parts.map((chunk) => chunk.map((msg) => msg.timestamp))).toEqual([ + [1, 2], + [3, 4], + ]); }); it("preserves message order across parts", () => { @@ -146,8 +146,7 @@ describe("splitMessagesByTokenShare", () => { const resultTimestamps = chunkWithAssistant .filter((m) => m.role === "toolResult") .map((m) => m.timestamp); - expect(resultTimestamps).toContain(3); - expect(resultTimestamps).toContain(4); + expect(resultTimestamps).toEqual([3, 4]); expect(parts.flat().length).toBe(messages.length); }); @@ -177,11 +176,7 @@ describe("splitMessagesByTokenShare", () => { const parts = splitMessagesByTokenShare(messages, 2); - expect(parts.length).toBe(2); - const chunk1Roles = parts[0].map((m) => m.role); - expect(chunk1Roles).toContain("assistant"); - expect(chunk1Roles).toContain("toolResult"); - expect(parts.flat().length).toBe(messages.length); + expect(parts.map((chunk) => chunk.map((msg) => msg.timestamp))).toEqual([[1, 2], [3]]); }); it("splits before a trailing completed tool-call pair", () => { @@ -207,8 +202,7 @@ describe("splitMessagesByTokenShare", () => { const parts = splitMessagesByTokenShare(messages, 2); - expect(parts.length).toBe(2); - expect(parts.flat().length).toBe(messages.length); + expect(parts.map((chunk) => chunk.map((msg) => msg.timestamp))).toEqual([[1], [2, 3]]); }); it("splits before unfinished tool-call turns that never get a result", () => {