package tools import "testing" func TestApplySelectionDeltas(t *testing.T) { base := []string{"read_file", "write_file", "grep"} got := ApplySelection(base, "-write_file,+edit_file") want := []string{"read_file", "grep", "edit_file"} if len(got) != len(want) { t.Fatalf("%v", got) } for i := range want { if got[i] != want[i] { t.Fatalf("got %v want %v", got, want) } } replaced := ApplySelection(base, "read_file, grep") if len(replaced) != 2 || replaced[0] != "read_file" || replaced[1] != "grep" { t.Fatalf("bare list: %v", replaced) } if same := ApplySelection(base, ""); len(same) != 3 { t.Fatalf("empty spec: %v", same) } }