MCPcopy Create free account
hub / github.com/apache/fory / TestNonReferenceResolver

Function TestNonReferenceResolver

go/fory/ref_resolver_test.go:67–89  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

65}
66
67func TestNonReferenceResolver(t *testing.T) {
68 refResolver := newRefResolver(false)
69 buf := NewByteBuffer(nil)
70 var values []any
71 values = append(values, commonSlice()...)
72 values = append(values, commonMap()...)
73 foo := newFoo()
74 bar := Bar{}
75 values = append(values, "", "str", &foo, &bar)
76 for _, data := range values {
77 refWritten, err := refResolver.WriteRefOrNull(buf, reflect.ValueOf(data))
78 require.Nil(t, err)
79 require.False(t, refWritten)
80 refWritten, err = refResolver.WriteRefOrNull(buf, reflect.ValueOf(data))
81 require.Nil(t, err)
82 require.False(t, refWritten)
83 }
84 ctxErr := &Error{}
85 for range values {
86 require.Equal(t, refResolver.ReadRefOrNull(buf, ctxErr), NotNullValueFlag)
87 require.Equal(t, refResolver.ReadRefOrNull(buf, ctxErr), NotNullValueFlag)
88 }
89}
90
91func TestNullable(t *testing.T) {
92 var values []any

Callers

nothing calls this directly

Calls 8

newRefResolverFunction · 0.85
NewByteBufferFunction · 0.85
commonSliceFunction · 0.85
commonMapFunction · 0.85
newFooFunction · 0.85
WriteRefOrNullMethod · 0.80
ReadRefOrNullMethod · 0.80
EqualMethod · 0.45

Tested by

no test coverage detected