66 lines
2.1 KiB
Go
66 lines
2.1 KiB
Go
package codec
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
type TestData struct {
|
|
Fild_1 string
|
|
Fild_3 int
|
|
Fild_4 float32
|
|
}
|
|
|
|
func Test_Encoder(t *testing.T) {
|
|
encoder := &Encoder{}
|
|
// data, err := encoder.EncoderToMap(map[string]interface{}{"liwei": 106, "sasd": "2564"})
|
|
// fmt.Printf("EncoderToMap data1:%v err:%v", data, err)
|
|
data, err := encoder.EncoderToMap([]interface{}{"liwei", 106, "sasd", "2564"})
|
|
fmt.Printf("EncoderToMap data1:%v err:%v", data, err)
|
|
// data, err := encoder.EncoderToMap(&TestData{Fild_1: "liwei1dao", Fild_3: 25, Fild_4: 3.54})
|
|
// fmt.Printf("EncoderToMap data2:%v err:%v", data, err)
|
|
}
|
|
|
|
func Test_Decoder(t *testing.T) {
|
|
decoder := &Decoder{}
|
|
data := &TestData{}
|
|
err := decoder.DecoderMapString(map[string]string{"Fild_1": "liwei1dao"}, data)
|
|
fmt.Printf("DecoderMap data1:%v err:%v", data, err)
|
|
}
|
|
|
|
func Test_Slice_Decoder(t *testing.T) {
|
|
decoder := &Decoder{DefDecoder: json.Unmarshal}
|
|
encoder := &Encoder{DefEncoder: json.Marshal}
|
|
data := []*TestData{{Fild_1: "1dao", Fild_3: 10, Fild_4: 3.5}, {Fild_1: "2dao", Fild_3: 20, Fild_4: 6.5}}
|
|
datastr, err := encoder.EncoderToSliceString(data)
|
|
fmt.Printf("EncoderToSliceString datastr:%v err:%v", datastr, err)
|
|
if err != nil {
|
|
return
|
|
}
|
|
data1 := make([]*TestData, 0)
|
|
err = decoder.DecoderSliceString(datastr, data1)
|
|
fmt.Printf("DecoderMap data1:%v err:%v", data1, err)
|
|
}
|
|
|
|
func Test_Slice_Type(t *testing.T) {
|
|
decoder := &Decoder{DefDecoder: json.Unmarshal}
|
|
encoder := &Encoder{DefEncoder: json.Marshal}
|
|
data := []*TestData{{Fild_1: "1dao", Fild_3: 10, Fild_4: 3.5}, {Fild_1: "2dao", Fild_3: 20, Fild_4: 6.5}}
|
|
datastr, err := encoder.EncoderToSliceString(data)
|
|
fmt.Printf("EncoderToSliceString datastr:%v err:%v", datastr, err)
|
|
if err != nil {
|
|
return
|
|
}
|
|
data1 := make([]*TestData, 0)
|
|
err = decoder.DecoderSliceString(datastr, &data1)
|
|
fmt.Printf("DecoderMap data1:%v err:%v", data1, err)
|
|
}
|
|
|
|
func Test_EncoderToMapString(t *testing.T) {
|
|
encoder := &Encoder{DefEncoder: json.Marshal}
|
|
data := &TestData{Fild_1: "1dao", Fild_3: 10, Fild_4: 3.5}
|
|
_map, err := encoder.EncoderToMapString(data)
|
|
fmt.Printf("DecoderMap map:%v err:%v", _map, err)
|
|
}
|