github.com/go-email-validator/go-email-validator@v0.0.0-20230409163946-b8b9e6a0552e/pkg/ev/contains/contains_test.go (about) 1 package contains 2 3 import ( 4 "github.com/emirpasic/gods/sets" 5 "github.com/emirpasic/gods/sets/hashset" 6 "github.com/go-email-validator/go-email-validator/pkg/ev/evtests" 7 "testing" 8 ) 9 10 const defaultValue = "defaultValue" 11 12 func getFuncChecker(valueToCheck interface{}) FuncChecker { 13 return func(val interface{}) bool { return val == valueToCheck } 14 } 15 16 func TestMain(m *testing.M) { 17 evtests.TestMain(m) 18 } 19 20 func Test_funcContains_Contains(t *testing.T) { 21 type fields struct { 22 funcChecker FuncChecker 23 } 24 type args struct { 25 value interface{} 26 } 27 tests := []struct { 28 name string 29 fields fields 30 args args 31 want bool 32 }{ 33 { 34 name: "contains", 35 fields: fields{getFuncChecker(defaultValue)}, 36 args: args{defaultValue}, 37 want: true, 38 }, 39 { 40 name: "is not free", 41 fields: fields{getFuncChecker(defaultValue)}, 42 args: args{nil}, 43 want: false, 44 }, 45 } 46 for _, tt := range tests { 47 t.Run(tt.name, func(t *testing.T) { 48 f := NewFunc(tt.fields.funcChecker) 49 if got := f.Contains(tt.args.value); got != tt.want { 50 t.Errorf("Contains() = %v, want %v", got, tt.want) 51 } 52 }) 53 } 54 } 55 56 func Test_setContains_Contains(t *testing.T) { 57 type fields struct { 58 set sets.Set 59 } 60 type args struct { 61 value interface{} 62 } 63 64 set := hashset.New(defaultValue) 65 tests := []struct { 66 name string 67 fields fields 68 args args 69 want bool 70 }{ 71 { 72 name: "contains", 73 fields: fields{set}, 74 args: args{defaultValue}, 75 want: true, 76 }, 77 { 78 name: "is not free", 79 fields: fields{set}, 80 args: args{nil}, 81 want: false, 82 }, 83 } 84 85 for _, tt := range tests { 86 t.Run(tt.name, func(t *testing.T) { 87 s := NewSet(tt.fields.set) 88 if got := s.Contains(tt.args.value); got != tt.want { 89 t.Errorf("Contains() = %v, want %v", got, tt.want) 90 } 91 }) 92 } 93 }