(t *testing.T)
| 212 | } |
| 213 | |
| 214 | func 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 | |
| 260 | func TestSerializeArray(t *testing.T) { |
| 261 | for _, referenceTracking := range []bool{false, true} { |
nothing calls this directly
no test coverage detected