public void TestSerializeHasAttributeNull()
        {
            var obj = new ByNameFoo { A = 123, B = 456 };

            string json = JsonSerializer.SerializeToString(obj);
            Assert.That(json, Is.StringMatching("{\"A\":123,\"B\":456}"));
        }
        public void TestSerializeHasAttributeNull()
        {
            var obj = new ByNameFoo {
                A = 123, B = 456
            };

            string json = JsonSerializer.SerializeToString(obj);

            Assert.That(json, Is.StringMatching("{\"A\":123,\"B\":456}"));
        }
        public void TestSerializeHasAttributeSet()
        {
            var obj = new ByNameFoo { A = 123, B = 456, hasAttribute = new HashSet<string> { "A" } };

            string json = JsonSerializer.SerializeToString(obj);
            Assert.That(json, Is.StringMatching("{\"A\":123"));

            var cpy = JsonSerializer.DeserializeFromString<ByNameFoo>(json);
            Assert.That(cpy.A, Is.EqualTo(obj.A));
            Assert.That(cpy.hasAttribute, Is.EqualTo(obj.hasAttribute));
        }
        public void TestSerializeHasAttributeSetNullValue()
        {
            var obj = new ByNameFoo { A = 123, B = null, hasAttribute = new HashSet<string> { "B" } };

            string json = JsonSerializer.SerializeToString(obj);
            Assert.That(json, Is.StringMatching("{\"B\":null"));

            var cpy = JsonSerializer.DeserializeFromString<ByNameFoo>(json);
            Assert.That(cpy.A, Is.EqualTo(0));
            Assert.That(cpy.B, Is.EqualTo(obj.B));
            Assert.That(cpy.hasAttribute, Is.EqualTo(obj.hasAttribute));
        }
        public void TestSerializeHasAttributeSet()
        {
            var obj = new ByNameFoo {
                A = 123, B = 456, hasAttribute = new HashSet <string> {
                    "A"
                }
            };

            string json = JsonSerializer.SerializeToString(obj);

            Assert.That(json, Is.StringMatching("{\"A\":123"));

            var cpy = JsonSerializer.DeserializeFromString <ByNameFoo>(json);

            Assert.That(cpy.A, Is.EqualTo(obj.A));
            Assert.That(cpy.hasAttribute, Is.EqualTo(obj.hasAttribute));
        }
        public void TestSerializeHasAttributeSetNullValue()
        {
            var obj = new ByNameFoo {
                A = 123, B = null, hasAttribute = new HashSet <string> {
                    "B"
                }
            };

            string json = JsonSerializer.SerializeToString(obj);

            Assert.That(json, Is.StringMatching("{\"B\":null"));

            var cpy = JsonSerializer.DeserializeFromString <ByNameFoo>(json);

            Assert.That(cpy.A, Is.EqualTo(0));
            Assert.That(cpy.B, Is.EqualTo(obj.B));
            Assert.That(cpy.hasAttribute, Is.EqualTo(obj.hasAttribute));
        }