github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/validate/validatetpl/phone_test.go (about) 1 package validatetpl 2 3 import ( 4 "testing" 5 ) 6 7 func TestValidatePhone(t *testing.T) { 8 type args struct { 9 v interface{} 10 } 11 tests := []struct { 12 name string 13 args args 14 want bool 15 want1 string 16 }{ 17 { 18 name: "normal", 19 args: args{ 20 v: "13478902992", 21 }, 22 want: true, 23 want1: "", 24 }, 25 { 26 name: "ExceedLength", 27 args: args{ 28 v: "134789029932", 29 }, 30 want: false, 31 want1: InvalidPhoneNoValue, 32 }, 33 { 34 name: "shortLength", 35 args: args{ 36 v: "1347890292", 37 }, 38 want: false, 39 want1: InvalidPhoneNoValue, 40 }, 41 { 42 name: "notAllNumber", 43 args: args{ 44 v: "134789a2992", 45 }, 46 want: false, 47 want1: InvalidPhoneNoValue, 48 }, 49 { 50 name: "intType", 51 args: args{ 52 v: 13478902992, 53 }, 54 want: false, 55 want1: InvalidPhoneNoType, 56 }, 57 { 58 name: "empty", 59 args: args{ 60 v: "", 61 }, 62 want: false, 63 want1: InvalidPhoneNoValue, 64 }, 65 } 66 for _, tt := range tests { 67 got, got1 := ValidatePhone(tt.args.v) 68 if got != tt.want { 69 t.Errorf("%q. ValidatePhone() got = %v, want %v", tt.name, got, tt.want) 70 } 71 if got1 != tt.want1 { 72 t.Errorf("%q. ValidatePhone() got1 = %v, want %v", tt.name, got1, tt.want1) 73 } 74 } 75 }