Files
baseapi/utils/typeconv_test.go

72 lines
1.1 KiB
Go

package utils
import (
"encoding/json"
"testing"
)
func TestConv(t *testing.T) {
for _, v := range [][]interface{}{
[]interface{}{
json.Number("123"),
int64(123),
},
[]interface{}{
json.Number("abc"),
int64(0),
},
[]interface{}{
"123",
int64(0),
},
[]interface{}{
int64(123),
int64(123),
},
} {
data := Interface2Int64WithDefault(v[0], 0)
if data != v[1].(int64) {
t.Fatal("Interface2Int64WithDefault failed")
}
}
}
func TestMarshal(t *testing.T) {
type InnerStruct struct {
InnerIntData int
}
type OutStruct struct {
InnerStruct
IntData int
StrData string
InnerData InnerStruct
PtrInnerData *InnerStruct
}
type OutStruct2 struct {
*InnerStruct
IntData int
StrData string
}
obj := OutStruct{
InnerStruct: InnerStruct{
InnerIntData: 3,
},
IntData: 1,
StrData: "2",
InnerData: InnerStruct{
InnerIntData: 4,
},
}
t.Log(Format4Output(obj, false))
t.Log(Format4Output(Struct2FlatMap(obj), false))
obj2 := OutStruct2{
InnerStruct: &InnerStruct{
InnerIntData: 2,
},
}
t.Log(Format4Output(obj2, false))
t.Log(Format4Output(Struct2FlatMap(obj2), false))
}