github.com/go-email-validator/go-email-validator@v0.0.0-20230409163946-b8b9e6a0552e/pkg/ev/validator_disposable_test.go (about) 1 package ev 2 3 import ( 4 "github.com/go-email-validator/go-email-validator/pkg/ev/contains" 5 "github.com/go-email-validator/go-email-validator/pkg/ev/evmail" 6 "reflect" 7 "testing" 8 ) 9 10 func TestDisposableValidator_Validate(t *testing.T) { 11 type fields struct { 12 d contains.InSet 13 } 14 type args struct { 15 email evmail.Address 16 in1 []ValidationResult 17 } 18 tests := []struct { 19 name string 20 fields fields 21 args args 22 want ValidationResult 23 }{ 24 { 25 name: "valid", 26 fields: fields{ 27 d: mockContains{t: t, want: validEmail.Domain(), ret: false}, 28 }, 29 args: args{email: validEmail}, 30 want: NewResult(true, nil, nil, DisposableValidatorName), 31 }, 32 { 33 name: "invalid", 34 fields: fields{ 35 d: mockContains{t: t, want: validEmail.Domain(), ret: true}, 36 }, 37 args: args{email: validEmail}, 38 want: NewResult(false, []error{DisposableError{}}, nil, DisposableValidatorName), 39 }, 40 } 41 for _, tt := range tests { 42 t.Run(tt.name, func(t *testing.T) { 43 d := NewDisposableValidator(tt.fields.d) 44 if got := d.Validate(NewInput(tt.args.email), tt.args.in1...); !reflect.DeepEqual(got, tt.want) { 45 t.Errorf("Validate() = %v, want %v", got, tt.want) 46 } 47 }) 48 } 49 } 50 51 func TestDisposableError_Error(t *testing.T) { 52 tests := []struct { 53 name string 54 want string 55 }{ 56 { 57 want: DisposableErr, 58 }, 59 } 60 for _, tt := range tests { 61 t.Run(tt.name, func(t *testing.T) { 62 di := DisposableError{} 63 if got := di.Error(); got != tt.want { 64 t.Errorf("Error() = %v, want %v", got, tt.want) 65 } 66 }) 67 } 68 }