2020-03-12 11:28:23 -04:00
|
|
|
package kvflag
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/google/go-cmp/cmp"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestStringSlice_Set(t *testing.T) {
|
|
|
|
type args struct {
|
|
|
|
values []string
|
|
|
|
}
|
|
|
|
tests := []struct {
|
|
|
|
name string
|
|
|
|
s StringSlice
|
|
|
|
args args
|
|
|
|
wantStringSlice StringSlice
|
|
|
|
}{
|
|
|
|
{"basic", StringSlice{"hey", "yo"}, args{[]string{"how", "are", "you"}},
|
|
|
|
StringSlice{"hey", "yo", "how", "are", "you"}},
|
|
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
|
|
for _, value := range tt.args.values {
|
2020-03-12 13:01:20 -04:00
|
|
|
err := tt.s.Set(value)
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
2020-03-12 11:28:23 -04:00
|
|
|
}
|
|
|
|
if diff := cmp.Diff(tt.s, tt.wantStringSlice); diff != "" {
|
|
|
|
t.Fatal(diff)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|