@@ -2238,7 +2238,6 @@ func TestInvalidDefaultElementInSliceRaiseError(t *testing.T) {
2238
2238
d := D {}
2239
2239
2240
2240
data := map [string ][]string {}
2241
- eng := "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
2242
2241
2243
2242
decoder := NewDecoder ()
2244
2243
@@ -2248,17 +2247,20 @@ func TestInvalidDefaultElementInSliceRaiseError(t *testing.T) {
2248
2247
t .Error ("if a different type exists, error should be raised" )
2249
2248
}
2250
2249
2250
+ dType := reflect .TypeOf (d )
2251
+
2251
2252
e , ok := err .(MultiError )
2252
- if ! ok || len (e ) != 14 {
2253
- t .Errorf ("Expected 14 errors, got %#v" , err )
2254
- }
2255
- for _ , v := range eng {
2256
- fieldKey := "default-" + string (v )
2257
- errMsg := fmt .Sprintf ("failed setting default: notInt is not compatible with field %s type" , string (v ))
2258
- if ferr , ok := e [fieldKey ]; ok {
2259
- if strings .Compare (ferr .Error (), errMsg ) != 0 {
2260
- t .Errorf ("%s: expected %s, got %#v" , fieldKey , ferr .Error (), errMsg )
2261
- }
2253
+ if ! ok || len (e ) != dType .NumField () {
2254
+ t .Errorf ("Expected %d errors, got %#v" , dType .NumField (), err )
2255
+ }
2256
+
2257
+ for i := 0 ; i < dType .NumField (); i ++ {
2258
+ v := dType .Field (i )
2259
+ fieldKey := "default-" + string (v .Name )
2260
+ errMsg := fmt .Sprintf ("failed setting default: notInt is not compatible with field %s type" , string (v .Name ))
2261
+ ferr := e [fieldKey ]
2262
+ if strings .Compare (ferr .Error (), errMsg ) != 0 {
2263
+ t .Errorf ("%s: expected %s, got %#v\n " , fieldKey , ferr .Error (), errMsg )
2262
2264
}
2263
2265
}
2264
2266
}
0 commit comments