1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65package generate_test
import (
"testing"
"github.com/huangsam/namigo/v2/pkg/generate"
)
func TestGeneratePrompt(t *testing.T) {
tests := []struct {
name string
purpose string
theme string
demographics string
interests string
size int
length int
wantErr bool
}{
{
name: "Valid input",
purpose: "Create a new project",
theme: "Technology",
demographics: "Developers",
interests: "Open Source",
size: 5,
length: 10,
wantErr: false,
},
{
name: "Empty input",
purpose: "",
theme: "",
demographics: "",
interests: "",
size: 0,
length: 0,
wantErr: false,
},
{
name: "Negative size and length",
purpose: "Test negative values",
theme: "Negative",
demographics: "Testers",
interests: "Testing",
size: -1,
length: -1,
wantErr: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := generate.Prompt(tt.purpose, tt.theme, tt.demographics, tt.interests, tt.size, tt.length)
if (err != nil) != tt.wantErr {
t.Errorf("GeneratePrompt() error = %v, wantErr %v", err, tt.wantErr)
return
}
if !tt.wantErr && got == "" {
t.Errorf("GeneratePrompt() got empty string, want non-empty string")
}
})
}
}