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

Function TestSerializeSet

go/fory/fory_test.go:214–258  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

212}
213
214func TestSerializeSet(t *testing.T) {
215 for _, referenceTracking := range []bool{false, true} {
216 fory := NewFory(WithXlang(true), WithCompatible(false), WithRefTracking(referenceTracking))
217
218 // Test Set[string]
219 {
220 s := NewSet[string]()
221 s.Add("a", "b", "c")
222 data, err := fory.Marshal(s)
223 require.NoError(t, err)
224 var result Set[string]
225 err = fory.Unmarshal(data, &result)
226 require.NoError(t, err)
227 require.Equal(t, 3, result.Len())
228 require.True(t, result.Contains("a"))
229 require.True(t, result.Contains("b"))
230 require.True(t, result.Contains("c"))
231 }
232
233 // Test Set[int32]
234 {
235 s := NewSet[int32]()
236 s.Add(1, 2, 3, 100)
237 data, err := fory.Marshal(s)
238 require.NoError(t, err)
239 var result Set[int32]
240 err = fory.Unmarshal(data, &result)
241 require.NoError(t, err)
242 require.Equal(t, 4, result.Len())
243 require.True(t, result.Contains(1))
244 require.True(t, result.Contains(100))
245 }
246
247 // Test empty set
248 {
249 s := NewSet[string]()
250 data, err := fory.Marshal(s)
251 require.NoError(t, err)
252 var result Set[string]
253 err = fory.Unmarshal(data, &result)
254 require.NoError(t, err)
255 require.Equal(t, 0, result.Len())
256 }
257 }
258}
259
260func TestSerializeArray(t *testing.T) {
261 for _, referenceTracking := range []bool{false, true} {

Callers

nothing calls this directly

Calls 10

MarshalMethod · 0.95
UnmarshalMethod · 0.95
NewForyFunction · 0.85
WithXlangFunction · 0.85
WithCompatibleFunction · 0.85
WithRefTrackingFunction · 0.85
LenMethod · 0.80
AddMethod · 0.45
EqualMethod · 0.45
ContainsMethod · 0.45

Tested by

no test coverage detected