Example #1
0
            public void WhenCopysPropertiesAreModifiedThenOriginalStaysTheSame()
            {
                // Arrange
                var oriConverter = new JsonSerializer();

                oriConverter.Settings.ContractResolver.PropertyContract = new DefaultPropertyContract();
                oriConverter.Settings.ContractResolver.ObjectContract   = new DefaultObjectContract();
                oriConverter.Settings.Formatting            = Newtonsoft.Json.Formatting.None;
                oriConverter.Settings.MissingMemberHandling = Newtonsoft.Json.MissingMemberHandling.Ignore;
                oriConverter.Settings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;

                // Act
                var newConverter = (JsonSerializer)oriConverter.Clone();

                newConverter.Settings.ContractResolver.PropertyContract = new ChangeFieldNamePropertyContract(typeof(int), "From", "To");
                newConverter.Settings.ContractResolver.ObjectContract   = new RequiredAttributesObjectContract(RequiredLevel.AllowNull);
                newConverter.Settings.Formatting            = Newtonsoft.Json.Formatting.Indented;
                newConverter.Settings.MissingMemberHandling = Newtonsoft.Json.MissingMemberHandling.Error;
                newConverter.Settings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Error;

                // Assert
                Assert.AreEqual(Newtonsoft.Json.MissingMemberHandling.Ignore, oriConverter.Settings.MissingMemberHandling);
                Assert.AreEqual(Newtonsoft.Json.ReferenceLoopHandling.Ignore, oriConverter.Settings.ReferenceLoopHandling);
                Assert.AreEqual(Newtonsoft.Json.Formatting.None, oriConverter.Settings.Formatting);
                Assert.IsInstanceOfType(oriConverter.Settings.ContractResolver.PropertyContract, typeof(DefaultPropertyContract));
                Assert.IsInstanceOfType(oriConverter.Settings.ContractResolver.ObjectContract, typeof(DefaultObjectContract));
            }
Example #2
0
        public static JsonSerializer RemoveConverter(this JsonSerializer serializer, JsonConverter converter)
        {
            var clone = serializer.Clone();

            clone.Converters.Remove(converter);
            return(clone);
        }
Example #3
0
            public void WhenAddConverterInCopyThenOriginalIsTheSame()
            {
                // Arrange
                var oriConverter = new JsonSerializer();

                // Act
                var newConverter = ((JsonSerializer)oriConverter.Clone()).AddConverter(new JsonConverters.DateTimeAsUnixTimeConverter());

                // Assert
                Assert.AreEqual(1, newConverter.Settings.Converters.Count);
                Assert.AreEqual(0, oriConverter.Settings.Converters.Count);
            }