public void WriteWithHashSet() { JsonSerializerOptions options = new JsonSerializerOptions(); options.SetupExtensions(); const string json = @"{""IntHashSet"":[1,2],""ObjectHashSet"":[{""IntValue"":1},{""IntValue"":2}],""StringHashSet"":[""a"",""b""]}"; HashSetObject obj = new HashSetObject { IntHashSet = new HashSet <int> { 1, 2 }, ObjectHashSet = new HashSet <IntObject> { new IntObject { IntValue = 1 }, new IntObject { IntValue = 2 } }, StringHashSet = new HashSet <string> { "a", "b" } }; Helper.TestWrite(obj, json, options); }
public void ReadWithHashSet() { JsonSerializerOptions options = new JsonSerializerOptions(); options.SetupExtensions(); const string json = @"{""IntHashSet"":[1,2],""ObjectHashSet"":[{""IntValue"":1},{""IntValue"":2}],""StringHashSet"":[""a"",""b""]}"; HashSetObject obj = Helper.Read <HashSetObject>(json, options); Assert.NotNull(obj); Assert.NotNull(obj.IntHashSet); Assert.Equal(2, obj.IntHashSet.Count); Assert.Contains(1, obj.IntHashSet); Assert.Contains(2, obj.IntHashSet); Assert.NotNull(obj.ObjectHashSet); Assert.Equal(2, obj.ObjectHashSet.Count); Assert.Contains(new IntObject { IntValue = 1 }, obj.ObjectHashSet); Assert.Contains(new IntObject { IntValue = 2 }, obj.ObjectHashSet); Assert.NotNull(obj.StringHashSet); Assert.Equal(2, obj.StringHashSet.Count); Assert.Contains("a", obj.StringHashSet); Assert.Contains("b", obj.StringHashSet); }