1
- package tuple_test
1
+ package tuple
2
2
3
3
import (
4
4
"testing"
5
5
6
6
"github.com/stretchr/testify/require"
7
- "github.com/barweiss/go-tuple"
8
7
)
9
8
10
9
{ {/* These variables can be used when the context of dot changes. */} }
11
10
{ {$indexes := .Indexes} }
12
11
{ {$len := .Len} }
13
12
14
13
func TestT{ {.Len} }_New(t *testing.T) {
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} }]{
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} }]{
17
16
{{range .Indexes -} }
18
17
V{ {.} }: { {. | quote} },
19
18
{ {end} }
20
19
}, tup)
21
20
}
22
21
23
22
func TestT{ {.Len} }_Len(t *testing.T) {
24
- tup := tuple. New{{len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} })
23
+ tup := New{{len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} })
25
24
require.Equal(t, { {.Len} }, tup.Len())
26
25
}
27
26
28
27
func TestT{ {.Len} }_Values(t *testing.T) {
29
- tup := tuple. New{{len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} })
28
+ tup := New{{len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} })
30
29
{ {range $i , $index := .Indexes} }{ {if gt $i 0} }, { {end} }v{ {$index } }{ {end} } := tup.Values()
31
30
{ {range .Indexes -} }
32
31
require.Equal(t, { {. | quote} }, v{ {.} })
33
32
{ {end -} }
34
33
}
35
34
36
35
func TestT{ {.Len} }_String(t *testing.T) {
37
- tup := tuple. New{{len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} })
36
+ tup := New{{len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} })
38
37
require.Equal(t, `[{ {range $i , $index := .Indexes} }{ {if gt $i 0} } { {end} }{ {. | quote} }{ {end} }]`, tup.String())
39
38
}
40
39
41
40
func TestT{ {.Len} }_GoString(t *testing.T) {
42
- tup := tuple. New{{len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} })
41
+ tup := New{{len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} })
43
42
require.Equal(t, `tuple.T{ {.Len} }[{ {range $i , $index := .Indexes} }{ {if gt $i 0} }, { {end} }string{ {end} }]{
44
43
{{- range $i , $index := .Indexes -} }
45
44
{ {- if gt $i 0} }, { {end -} }
@@ -49,14 +48,14 @@ func TestT{{.Len}}_GoString(t *testing.T) {
49
48
}
50
49
51
50
func TestT{ {.Len} }_ToArray(t *testing.T) {
52
- tup := tuple. New{{len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} })
51
+ tup := New{{len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} })
53
52
require.Equal(t, [{ {.Len} }]any{
54
53
{{range .Indexes -} }{ {. | quote} },{ {end} }
55
54
}, tup.Array())
56
55
}
57
56
58
57
func TestT{ {.Len} }_ToSlice(t *testing.T) {
59
- tup := tuple. New{{len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} })
58
+ tup := New{{len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} })
60
59
require.Equal(t, []any{
61
60
{{range .Indexes -} }{ {. | quote} },{ {end} }
62
61
}, tup.Slice())
@@ -94,8 +93,8 @@ func TestT{{.Len}}_FromArrayX(t *testing.T) {
94
93
95
94
for _, tt := range tests {
96
95
t.Run(tt.name, func(t *testing.T) {
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)
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)
99
98
}
100
99
101
100
if tt.wantPanic {
@@ -105,7 +104,7 @@ func TestT{{.Len}}_FromArrayX(t *testing.T) {
105
104
return
106
105
}
107
106
108
- require.Equal(t, tuple. New{ {len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} }), do())
107
+ require.Equal(t, New{ {len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} }), do())
109
108
})
110
109
}
111
110
}
@@ -142,14 +141,14 @@ func TestT{{.Len}}_FromArray(t *testing.T) {
142
141
143
142
for _, tt := range tests {
144
143
t.Run(tt.name, func(t *testing.T) {
145
- tup, err := tuple. FromArray{{.Len} }[{ {range $i , $index := .Indexes} }{ {if gt $i 0} }, { {end} }string{ {end} }](tt.array)
144
+ tup, err := FromArray{{.Len} }[{ {range $i , $index := .Indexes} }{ {if gt $i 0} }, { {end} }string{ {end} }](tt.array)
146
145
if tt.wantErr {
147
146
require.Error(t, err)
148
147
return
149
148
}
150
149
151
150
require.NoError(t, err)
152
- require.Equal(t, tuple. New{ {len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} }), tup)
151
+ require.Equal(t, New{ {len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} }), tup)
153
152
})
154
153
}
155
154
}
@@ -206,8 +205,8 @@ func TestT{{.Len}}_FromSliceX(t *testing.T) {
206
205
207
206
for _, tt := range tests {
208
207
t.Run(tt.name, func(t *testing.T) {
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)
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)
211
210
}
212
211
213
212
if tt.wantPanic {
@@ -217,7 +216,7 @@ func TestT{{.Len}}_FromSliceX(t *testing.T) {
217
216
return
218
217
}
219
218
220
- require.Equal(t, tuple. New{ {len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} }), do())
219
+ require.Equal(t, New{ {len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} }), do())
221
220
})
222
221
}
223
222
}
@@ -274,14 +273,14 @@ func TestT{{.Len}}_FromSlice(t *testing.T) {
274
273
275
274
for _, tt := range tests {
276
275
t.Run(tt.name, func(t *testing.T) {
277
- tup, err := tuple. FromSlice{{.Len} }[{ {range $i , $index := .Indexes} }{ {if gt $i 0} }, { {end} }string{ {end} }](tt.slice)
276
+ tup, err := FromSlice{{.Len} }[{ {range $i , $index := .Indexes} }{ {if gt $i 0} }, { {end} }string{ {end} }](tt.slice)
278
277
if tt.wantErr {
279
278
require.Error(t, err)
280
279
return
281
280
}
282
281
283
282
require.NoError(t, err)
284
- require.Equal(t, tuple. New{ {len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} }), tup)
283
+ require.Equal(t, New{ {len .Indexes} }({ {range .Indexes} }{ {. | quote} },{ {end} }), tup)
285
284
})
286
285
}
287
286
}
0 commit comments