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  }