Initial encoder
This commit is contained in:
parent
844dfebed4
commit
d4ee262b40
1 changed files with 39 additions and 0 deletions
39
serial_test.go
Normal file
39
serial_test.go
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
package serial
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
type t1 struct {
|
||||||
|
FieldA string `json:"field_a" group:"group_1"`
|
||||||
|
FieldB int `json:"field_b" group:"group_2"`
|
||||||
|
FieldC bool `json:"field_c" group:"group_1"`
|
||||||
|
FieldD t2 `json:"field_d" group:"group_2,group_1"`
|
||||||
|
}
|
||||||
|
type t2 struct {
|
||||||
|
FieldA string `json:"field_a" group:"group_2"`
|
||||||
|
FieldB int `json:"field_b" group:"group_2,group_1"`
|
||||||
|
FieldC bool `json:"field_c" group:"group_2"`
|
||||||
|
FieldD float64 `json:"field_d" group:"group_1"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSerialize(t *testing.T) {
|
||||||
|
o1 := t1{
|
||||||
|
FieldA: "foo",
|
||||||
|
FieldB: 123,
|
||||||
|
FieldC: true,
|
||||||
|
FieldD: t2{FieldA: "bar", FieldB: 321, FieldC: false, FieldD: 123.2121},
|
||||||
|
}
|
||||||
|
result := bytes.NewBuffer([]byte{})
|
||||||
|
if err := NewEncoder(result).AddGroup("group_1").Encode(o1); err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
expected := `{"field_a":"foo","field_c":true,"field_d":{"field_b":321,"field_d":123.2121}}`
|
||||||
|
if result.String() != expected {
|
||||||
|
t.Errorf("Expected: %s got %s", expected, result.String())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestDeserialize(t *testing.T) {
|
||||||
|
}
|
Loading…
Reference in a new issue