示例#1
0
        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);
        }
示例#2
0
        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);
        }