github.com/cloudwego/dynamicgo@v0.2.6-0.20240519101509-707f41b6b834/proto/generic/path_test.go (about) 1 package generic 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 ) 8 9 func TestTreeMarshal(t *testing.T) { 10 desc := getExample2Desc() 11 data := getExample2Data() 12 partdesc := getExamplePartialDesc() 13 t.Run("marshalNormal", func(t *testing.T) { 14 v := NewRootValue(desc, data) 15 tree := PathNode{ 16 Node: v.Node, 17 } 18 tree.Load(true, opts, desc) 19 buf, err := tree.Marshal(opts) 20 require.Nil(t, err) 21 require.Equal(t, len(buf), len(data)) 22 }) 23 24 t.Run("marshalwithunknown", func(t *testing.T) { 25 v := NewRootValue(partdesc, data) 26 tree := PathNode{ 27 Node: v.Node, 28 } 29 tree.Load(true, opts, partdesc) 30 buf, err := tree.Marshal(opts) 31 require.Nil(t, err) 32 require.Equal(t, len(buf), len(data)) 33 34 }) 35 }