...
1
2
3 package mxj
4
5 import (
6 "fmt"
7 "testing"
8 )
9
10 func TestNan(t *testing.T) {
11 fmt.Println("\n------------ TestNan ...")
12 data := []byte("<foo><bar>NAN</bar></foo>")
13
14 m, err := NewMapXml(data, true)
15 if err != nil {
16 t.Fatal("err:", err)
17 }
18 v, err := m.ValueForPath("foo.bar")
19 if err != nil {
20 t.Fatal("err:", err)
21 }
22 if _, ok := v.(string); !ok {
23 t.Fatal("v not string")
24 }
25 fmt.Println("foo.bar:", v)
26 }
27
28 func TestInf(t *testing.T) {
29 data := []byte("<foo><bar>INF</bar></foo>")
30
31 m, err := NewMapXml(data, true)
32 if err != nil {
33 t.Fatal("err:", err)
34 }
35 v, err := m.ValueForPath("foo.bar")
36 if err != nil {
37 t.Fatal("err:", err)
38 }
39 if _, ok := v.(string); !ok {
40 t.Fatal("v not string")
41 }
42 fmt.Println("foo.bar:", v)
43 }
44
45 func TestMinusInf(t *testing.T) {
46 data := []byte("<foo><bar>-INF</bar></foo>")
47
48 m, err := NewMapXml(data, true)
49 if err != nil {
50 t.Fatal("err:", err)
51 }
52 v, err := m.ValueForPath("foo.bar")
53 if err != nil {
54 t.Fatal("err:", err)
55 }
56 if _, ok := v.(string); !ok {
57 t.Fatal("v not string")
58 }
59 fmt.Println("foo.bar:", v)
60 }
61
62 func TestCastNanInf(t *testing.T) {
63 data := []byte("<foo><bar>NAN</bar></foo>")
64
65 CastNanInf(true)
66
67 m, err := NewMapXml(data, true)
68 if err != nil {
69 t.Fatal("err:", err)
70 }
71 v, err := m.ValueForPath("foo.bar")
72 if err != nil {
73 t.Fatal("err:", err)
74 }
75 if _, ok := v.(float64); !ok {
76 fmt.Printf("%#v\n", v)
77 t.Fatal("v not float64")
78 }
79 fmt.Println("foo.bar:", v)
80 }
81
82
View as plain text