예제 #1
0
        public void WriteIsRequired(string value, Type expectedExceptionType)
        {
            JsonSerializerOptions options = new JsonSerializerOptions();

            options.SetupExtensions();

            var obj = new ObjectWithRequiredProperty
            {
                String = value
            };

            Helper.TestWrite(obj, options, expectedExceptionType);
        }
        public void Test()
        {
            const string emptyJsonObject = "{}";

            Assert.Multiple(() =>
            {
                // Ensure the deserialization throws if using default settings
                Assert.Throws <JsonSerializationException>(() =>
                                                           JsonConvert.DeserializeObject <ObjectWithRequiredProperty>(emptyJsonObject));

                ObjectWithRequiredProperty actual = JsonConvert.DeserializeObject <ObjectWithRequiredProperty>(
                    emptyJsonObject,
                    new JsonSerializerSettings
                {
                    ContractResolver = new IgnoreRequiredAttributesResolver()
                });

                Assert.IsNotNull(actual);
                Assert.IsNull(actual.Property);
            });
        }