mirror of
https://github.com/moltbot/moltbot.git
synced 2026-05-19 04:28:22 +00:00
test: assert compaction split layouts
This commit is contained in:
@@ -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", () => {
|
||||
|
||||
Reference in New Issue
Block a user