MCPcopy Create free account
hub / github.com/codehamr/codehamr / TestPackNewestFirstWhole

Function TestPackNewestFirstWhole

internal/ctx/ctx_test.go:93–112  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

91}
92
93func TestPackNewestFirstWhole(t *testing.T) {
94 big := strings.Repeat("a", 4*1000) // 1000 tokens
95 history := []Message{
96 {Role: RoleUser, Content: big},
97 {Role: RoleAssistant, Content: big},
98 {Role: RoleUser, Content: big},
99 {Role: RoleAssistant, Content: big},
100 }
101 r := Pack(history, 2500)
102 // Each message costs Tokens(4000 bytes)+8 = 1008. Budget 2500 keeps newest
103 // (1008) and msg3 (2016 <= 2500), breaks before msg2 (3024 > 2500), so
104 // exactly 2, pinning the `used+cost > budget` break against off-by-one.
105 if len(r.Messages) != 2 {
106 t.Fatalf("kept=%d want exactly 2", len(r.Messages))
107 }
108 // last message must always be kept
109 if r.Messages[len(r.Messages)-1].Content != big {
110 t.Fatal("newest message not preserved")
111 }
112}
113
114func TestPackAlwaysKeepsNewest(t *testing.T) {
115 massive := strings.Repeat("z", 4*10000)

Callers

nothing calls this directly

Calls 1

PackFunction · 0.85

Tested by

no test coverage detected