Skip to content

Commit a70f617

Browse files
committed
test middle_out preserves ends for odd count
1 parent bfe4394 commit a70f617

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

src/server/api/go/internal/pkg/editor/strategy_middle_out_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,21 @@ func TestMiddleOutStrategy_Apply(t *testing.T) {
5454
require.Len(t, res, 3)
5555
require.Equal(t, []string{"m0", "m1", "m3"}, []string{res[0].Parts[0].Text, res[1].Parts[0].Text, res[2].Parts[0].Text})
5656

57+
odd := []model.Message{
58+
{Role: "user", Parts: []model.Part{{Type: "text", Text: "first"}}},
59+
{Role: "user", Parts: []model.Part{{Type: "text", Text: "middle"}}},
60+
{Role: "user", Parts: []model.Part{{Type: "text", Text: "last"}}},
61+
}
62+
total, err = tokenizer.CountMessagePartsTokens(context.Background(), odd)
63+
require.NoError(t, err)
64+
midTokens, err = tokenizer.CountSingleMessageTokens(context.Background(), odd[1])
65+
require.NoError(t, err)
66+
resOdd, err := (&MiddleOutStrategy{TokenReduceTo: total - midTokens}).Apply(odd)
67+
require.NoError(t, err)
68+
require.Len(t, resOdd, 2)
69+
require.Equal(t, "first", resOdd[0].Parts[0].Text)
70+
require.Equal(t, "last", resOdd[1].Parts[0].Text)
71+
5772
two := []model.Message{
5873
{Role: "user", Parts: []model.Part{{Type: "text", Text: "old"}}},
5974
{Role: "user", Parts: []model.Part{{Type: "text", Text: "new"}}},

0 commit comments

Comments
 (0)