1package providertests
2
3import (
4 "strings"
5 "testing"
6
7 "github.com/charmbracelet/ai/ai"
8 _ "github.com/joho/godotenv/autoload"
9)
10
11func TestSimple(t *testing.T) {
12 for _, pair := range languageModelBuilders {
13 t.Run(pair.name, func(t *testing.T) {
14 r := newRecorder(t)
15
16 languageModel, err := pair.builder(r)
17 if err != nil {
18 t.Fatalf("failed to build language model: %v", err)
19 }
20
21 agent := ai.NewAgent(
22 languageModel,
23 ai.WithSystemPrompt("You are a helpful assistant"),
24 )
25 result, err := agent.Generate(t.Context(), ai.AgentCall{
26 Prompt: "Say hi in Portuguese",
27 })
28 if err != nil {
29 t.Fatalf("failed to generate: %v", err)
30 }
31
32 want := "Olá"
33 got := result.Response.Content.Text()
34 if !strings.Contains(got, want) {
35 t.Fatalf("unexpected response: got %q, want %q", got, want)
36 }
37 })
38 }
39}