1package mxj 2 3import ( 4 "fmt" 5 "testing" 6) 7 8var castdata = []byte(`<doc> 9 <string>string</string> 10 <float>3.14159625</float> 11 <int>2019</int> 12 <bool> 13 <true>true</true> 14 <false>FALSE</false> 15 <T>T</T> 16 <f>f</f> 17 </bool></doc>`) 18 19func TestHeader(t *testing.T) { 20 fmt.Println("\ncast_test.go ----------") 21} 22 23func TestCastDefault(t *testing.T) { 24 fmt.Println("------------ TestCastDefault ...") 25 m, err := NewMapXml(castdata) 26 if err != nil { 27 t.Fatal(err.Error()) 28 } 29 fmt.Printf("%#v\n", m) 30} 31 32func TestCastTrue(t *testing.T) { 33 fmt.Println("------------ TestCastTrue ...") 34 m, _ := NewMapXml(castdata, true) 35 fmt.Printf("%#v\n", m) 36} 37 38func TestSetCheckTagToSkipFunc(t *testing.T) { 39 fmt.Println("------------ TestSetCheckTagToSkipFunc ...") 40 fn := func(tag string) bool { 41 list := []string{"int","false"} 42 for _, v := range list { 43 if v == tag { 44 return true 45 } 46 } 47 return false 48 } 49 SetCheckTagToSkipFunc(fn) 50 51 m, err := NewMapXml(castdata, true) 52 if err != nil { 53 t.Fatal(err.Error()) 54 } 55 fmt.Printf("%#v\n", m) 56} 57 58func TestCastValuesToFloat(t *testing.T) { 59 fmt.Println("------------ TestCastValuesToFloat(false) ...") 60 CastValuesToFloat(false) 61 defer CastValuesToFloat(true) 62 63 m, err := NewMapXml(castdata, true) 64 if err != nil { 65 t.Fatal(err.Error()) 66 } 67 fmt.Printf("%#v\n", m) 68} 69 70func TestCastValuesToBool(t *testing.T) { 71 fmt.Println("------------ TestCastValuesToBool(false) ...") 72 CastValuesToBool(false) 73 defer CastValuesToBool(true) 74 75 m, err := NewMapXml(castdata, true) 76 if err != nil { 77 t.Fatal(err.Error()) 78 } 79 fmt.Printf("%#v\n", m) 80} 81