| // Copyright (c) HashiCorp, Inc. |
| // SPDX-License-Identifier: MPL-2.0 |
| |
| 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 { |
| err := tt.s.Set(value) |
| if err != nil { |
| t.Fatal(err) |
| } |
| } |
| if diff := cmp.Diff(tt.s, tt.wantStringSlice); diff != "" { |
| t.Fatal(diff) |
| } |
| }) |
| } |
| } |