github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/validate/validatetpl/id_card_test.go (about) 1 package validatetpl 2 3 import ( 4 "testing" 5 ) 6 7 func TestValidateIDCardNo(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: "450821198801190031", 21 }, 22 want: true, 23 want1: "", 24 }, 25 { 26 name: "X", 27 args: args{ 28 v: "11010719870304001X", 29 }, 30 want: true, 31 want1: "", 32 }, 33 { 34 name: "x", 35 args: args{ 36 v: "11010719870304001x", 37 }, 38 want: true, 39 want1: "", 40 }, 41 { 42 name: "invalid", 43 args: args{ 44 v: "450821198801190032", 45 }, 46 want: false, 47 want1: InvalidIDCardNoValue, 48 }, 49 } 50 for _, tt := range tests { 51 got, got1 := ValidateIDCardNo(tt.args.v) 52 if got != tt.want { 53 t.Errorf("%q. ValidateIDCardNo() got = %v, want %v", tt.name, got, tt.want) 54 } 55 if got1 != tt.want1 { 56 t.Errorf("%q. ValidateIDCardNo() got1 = %v, want %v", tt.name, got1, tt.want1) 57 } 58 } 59 }