返回 DeepSeek-Reasonix
canonical_todo_test.go
根目录 / internal / agent / canonical_todo_test.go
1 package agent
2
3 import (
4 "testing"
5
6 "reasonix/internal/evidence"
7 )
8
9 func TestTodoStateAllowsParallelAndOutOfOrderStatuses(t *testing.T) {
10 a := &Agent{}
11 want := []evidence.TodoItem{
12 {Content: "later", Status: "completed"},
13 {Content: "first", Status: "in_progress"},
14 {Content: "second", Status: "in_progress"},
15 }
16 a.setTodoState(want)
17 got := a.CanonicalTodoState()
18 for i := range want {
19 if got[i] != want[i] {
20 t.Fatalf("todo %d changed: got=%+v want=%+v", i, got[i], want[i])
21 }
22 }
23 }
24
25 func TestBeginTurnTodoStateClearsWithoutRewritingHistory(t *testing.T) {
26 a := &Agent{sess: sessionRuntime{todoState: []evidence.TodoItem{{Content: "old", Status: "in_progress"}}}}
27 a.BeginTurnTodoState()
28 if got := a.CanonicalTodoState(); len(got) != 0 {
29 t.Fatalf("new turn retained todos: %+v", got)
30 }
31 }
32
32 lines GO