Skip to content

Commit c16834e

Browse files
authored
Add tests directory for tuple tests (#5)
1 parent f2228ef commit c16834e

File tree

11 files changed

+201
-191
lines changed

11 files changed

+201
-191
lines changed

scripts/gen/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ func main() {
7575
tpl: codeTpl,
7676
},
7777
{
78-
fullPath: path.Join(outputDir, fmt.Sprintf("tuple%d_test.go", tupleLength)),
78+
fullPath: path.Join(outputDir, "tests", fmt.Sprintf("tuple%d_test.go", tupleLength)),
7979
tpl: testTpl,
8080
},
8181
}

scripts/gen/tuple_test.tpl

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,45 @@
1-
package tuple
1+
package tuple_test
22

33
import (
44
"testing"
55

66
"github.com/stretchr/testify/require"
7+
"github.com/barweiss/go-tuple"
78
)
89

910
{{/* These variables can be used when the context of dot changes. */}}
1011
{{$indexes := .Indexes}}
1112
{{$len := .Len}}
1213

1314
func TestT{{.Len}}_New(t *testing.T) {
14-
tup := New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
15-
require.Equal(t, T{{.Len}}[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}]{
15+
tup := tuple.New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
16+
require.Equal(t, tuple.T{{.Len}}[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}]{
1617
{{range .Indexes -}}
1718
V{{.}}: {{. | quote}},
1819
{{end}}
1920
}, tup)
2021
}
2122

2223
func TestT{{.Len}}_Len(t *testing.T) {
23-
tup := New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
24+
tup := tuple.New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
2425
require.Equal(t, {{.Len}}, tup.Len())
2526
}
2627

2728
func TestT{{.Len}}_Values(t *testing.T) {
28-
tup := New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
29+
tup := tuple.New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
2930
{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}v{{$index}}{{end}} := tup.Values()
3031
{{range .Indexes -}}
3132
require.Equal(t, {{. | quote}}, v{{.}})
3233
{{end -}}
3334
}
3435

3536
func TestT{{.Len}}_String(t *testing.T) {
36-
tup := New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
37+
tup := tuple.New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
3738
require.Equal(t, `[{{range $i, $index := .Indexes}}{{if gt $i 0}} {{end}}{{. | quote}}{{end}}]`, tup.String())
3839
}
3940

4041
func TestT{{.Len}}_GoString(t *testing.T) {
41-
tup := New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
42+
tup := tuple.New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
4243
require.Equal(t, `tuple.T{{.Len}}[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}]{
4344
{{- range $i, $index := .Indexes -}}
4445
{{- if gt $i 0}}, {{end -}}
@@ -48,14 +49,14 @@ func TestT{{.Len}}_GoString(t *testing.T) {
4849
}
4950

5051
func TestT{{.Len}}_ToArray(t *testing.T) {
51-
tup := New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
52+
tup := tuple.New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
5253
require.Equal(t, [{{.Len}}]any{
5354
{{range .Indexes -}}{{. | quote}},{{end}}
5455
}, tup.Array())
5556
}
5657

5758
func TestT{{.Len}}_ToSlice(t *testing.T) {
58-
tup := New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
59+
tup := tuple.New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}})
5960
require.Equal(t, []any{
6061
{{range .Indexes -}}{{. | quote}},{{end}}
6162
}, tup.Slice())
@@ -93,8 +94,8 @@ func TestT{{.Len}}_FromArrayX(t *testing.T) {
9394

9495
for _, tt := range tests {
9596
t.Run(tt.name, func(t *testing.T) {
96-
do := func () T{{.Len}}[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}] {
97-
return FromArray{{.Len}}X[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}](tt.array)
97+
do := func () tuple.T{{.Len}}[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}] {
98+
return tuple.FromArray{{.Len}}X[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}](tt.array)
9899
}
99100

100101
if tt.wantPanic {
@@ -104,7 +105,7 @@ func TestT{{.Len}}_FromArrayX(t *testing.T) {
104105
return
105106
}
106107

107-
require.Equal(t, New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}}), do())
108+
require.Equal(t, tuple.New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}}), do())
108109
})
109110
}
110111
}
@@ -141,14 +142,14 @@ func TestT{{.Len}}_FromArray(t *testing.T) {
141142

142143
for _, tt := range tests {
143144
t.Run(tt.name, func(t *testing.T) {
144-
tup, err := FromArray{{.Len}}[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}](tt.array)
145+
tup, err := tuple.FromArray{{.Len}}[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}](tt.array)
145146
if tt.wantErr {
146147
require.Error(t, err)
147148
return
148149
}
149150

150151
require.NoError(t, err)
151-
require.Equal(t, New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}}), tup)
152+
require.Equal(t, tuple.New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}}), tup)
152153
})
153154
}
154155
}
@@ -205,8 +206,8 @@ func TestT{{.Len}}_FromSliceX(t *testing.T) {
205206

206207
for _, tt := range tests {
207208
t.Run(tt.name, func(t *testing.T) {
208-
do := func () T{{.Len}}[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}] {
209-
return FromSlice{{.Len}}X[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}](tt.slice)
209+
do := func () tuple.T{{.Len}}[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}] {
210+
return tuple.FromSlice{{.Len}}X[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}](tt.slice)
210211
}
211212

212213
if tt.wantPanic {
@@ -216,7 +217,7 @@ func TestT{{.Len}}_FromSliceX(t *testing.T) {
216217
return
217218
}
218219

219-
require.Equal(t, New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}}), do())
220+
require.Equal(t, tuple.New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}}), do())
220221
})
221222
}
222223
}
@@ -273,14 +274,14 @@ func TestT{{.Len}}_FromSlice(t *testing.T) {
273274

274275
for _, tt := range tests {
275276
t.Run(tt.name, func(t *testing.T) {
276-
tup, err := FromSlice{{.Len}}[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}](tt.slice)
277+
tup, err := tuple.FromSlice{{.Len}}[{{range $i, $index := .Indexes}}{{if gt $i 0}}, {{end}}string{{end}}](tt.slice)
277278
if tt.wantErr {
278279
require.Error(t, err)
279280
return
280281
}
281282

282283
require.NoError(t, err)
283-
require.Equal(t, New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}}), tup)
284+
require.Equal(t, tuple.New{{len .Indexes}}({{range .Indexes}}{{. | quote}},{{end}}), tup)
284285
})
285286
}
286287
}

tuple1_test.go renamed to tests/tuple1_test.go

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,49 @@
1-
package tuple
1+
package tuple_test
22

33
import (
44
"testing"
55

6+
"github.com/barweiss/go-tuple"
67
"github.com/stretchr/testify/require"
78
)
89

910
func TestT1_New(t *testing.T) {
10-
tup := New1("1")
11-
require.Equal(t, T1[string]{
11+
tup := tuple.New1("1")
12+
require.Equal(t, tuple.T1[string]{
1213
V1: "1",
1314
}, tup)
1415
}
1516

1617
func TestT1_Len(t *testing.T) {
17-
tup := New1("1")
18+
tup := tuple.New1("1")
1819
require.Equal(t, 1, tup.Len())
1920
}
2021

2122
func TestT1_Values(t *testing.T) {
22-
tup := New1("1")
23+
tup := tuple.New1("1")
2324
v1 := tup.Values()
2425
require.Equal(t, "1", v1)
2526
}
2627

2728
func TestT1_String(t *testing.T) {
28-
tup := New1("1")
29+
tup := tuple.New1("1")
2930
require.Equal(t, `["1"]`, tup.String())
3031
}
3132

3233
func TestT1_GoString(t *testing.T) {
33-
tup := New1("1")
34+
tup := tuple.New1("1")
3435
require.Equal(t, `tuple.T1[string]{V1: "1"}`, tup.GoString())
3536
}
3637

3738
func TestT1_ToArray(t *testing.T) {
38-
tup := New1("1")
39+
tup := tuple.New1("1")
3940
require.Equal(t, [1]any{
4041
"1",
4142
}, tup.Array())
4243
}
4344

4445
func TestT1_ToSlice(t *testing.T) {
45-
tup := New1("1")
46+
tup := tuple.New1("1")
4647
require.Equal(t, []any{
4748
"1",
4849
}, tup.Slice())
@@ -71,8 +72,8 @@ func TestT1_FromArrayX(t *testing.T) {
7172

7273
for _, tt := range tests {
7374
t.Run(tt.name, func(t *testing.T) {
74-
do := func() T1[string] {
75-
return FromArray1X[string](tt.array)
75+
do := func() tuple.T1[string] {
76+
return tuple.FromArray1X[string](tt.array)
7677
}
7778

7879
if tt.wantPanic {
@@ -82,7 +83,7 @@ func TestT1_FromArrayX(t *testing.T) {
8283
return
8384
}
8485

85-
require.Equal(t, New1("1"), do())
86+
require.Equal(t, tuple.New1("1"), do())
8687
})
8788
}
8889
}
@@ -110,14 +111,14 @@ func TestT1_FromArray(t *testing.T) {
110111

111112
for _, tt := range tests {
112113
t.Run(tt.name, func(t *testing.T) {
113-
tup, err := FromArray1[string](tt.array)
114+
tup, err := tuple.FromArray1[string](tt.array)
114115
if tt.wantErr {
115116
require.Error(t, err)
116117
return
117118
}
118119

119120
require.NoError(t, err)
120-
require.Equal(t, New1("1"), tup)
121+
require.Equal(t, tuple.New1("1"), tup)
121122
})
122123
}
123124
}
@@ -163,8 +164,8 @@ func TestT1_FromSliceX(t *testing.T) {
163164

164165
for _, tt := range tests {
165166
t.Run(tt.name, func(t *testing.T) {
166-
do := func() T1[string] {
167-
return FromSlice1X[string](tt.slice)
167+
do := func() tuple.T1[string] {
168+
return tuple.FromSlice1X[string](tt.slice)
168169
}
169170

170171
if tt.wantPanic {
@@ -174,7 +175,7 @@ func TestT1_FromSliceX(t *testing.T) {
174175
return
175176
}
176177

177-
require.Equal(t, New1("1"), do())
178+
require.Equal(t, tuple.New1("1"), do())
178179
})
179180
}
180181
}
@@ -220,14 +221,14 @@ func TestT1_FromSlice(t *testing.T) {
220221

221222
for _, tt := range tests {
222223
t.Run(tt.name, func(t *testing.T) {
223-
tup, err := FromSlice1[string](tt.slice)
224+
tup, err := tuple.FromSlice1[string](tt.slice)
224225
if tt.wantErr {
225226
require.Error(t, err)
226227
return
227228
}
228229

229230
require.NoError(t, err)
230-
require.Equal(t, New1("1"), tup)
231+
require.Equal(t, tuple.New1("1"), tup)
231232
})
232233
}
233234
}

0 commit comments

Comments
 (0)