test: assert compaction split layouts

This commit is contained in:
Shakker
2026-05-12 02:20:11 +01:00
parent fead3bfc55
commit 8fbb0eefd3

View File

@@ -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", () => {