public void WhenDeserializedContainsExpectedValue()
        {
            var converter = new JsonValueConverter <Person>();

            var deserialized = (Person)converter.ConvertFromProvider(_json);

            deserialized.Should().NotBeNull();
            deserialized.Name.Should().Be("John Smith");
            deserialized.Address.Should().NotBeNull();
            deserialized.Address.AddressLine1.Should().Be("1 Some Street");
        }
        public void ApplyCustomJsonConverter()
        {
            var customer = new Customer {
                ProtectedAddress = new Address {
                    Street = "Privet Drive 4"
                }
            };
            var converter = new JsonValueConverter <Customer>();

            var serialized = (string)converter.ConvertToProvider(customer);

            Assert.IsFalse(serialized.Contains("Privet"), "Serialization applied custom converter");

            var deserialized = (Customer)converter.ConvertFromProvider(serialized);

            Assert.AreEqual("Privet Drive 4", deserialized.ProtectedAddress.Street, "Deserialization applied custom converter");
        }