From 635feb1549fd510f674a80577d8c289afaeb5baa Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Mon, 6 Feb 2017 20:22:09 +1300 Subject: [PATCH] -Tests --- .../DefaultValueHandlingTests.cs | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Src/Newtonsoft.Json.Tests/Serialization/DefaultValueHandlingTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/DefaultValueHandlingTests.cs index 6019be62..a4500ba6 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/DefaultValueHandlingTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/DefaultValueHandlingTests.cs @@ -46,6 +46,48 @@ namespace Newtonsoft.Json.Tests.Serialization [TestFixture] public class DefaultValueHandlingTests : TestFixtureBase { + private class DefaultValueWithConstructorAndRename + { + public const string DefaultText = "..."; + + [DefaultValue(DefaultText)] + [JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)] + public readonly string Text; + + public DefaultValueWithConstructorAndRename(string text = DefaultText) + { + Text = text; + } + } + + [Test] + public void DefaultValueWithConstructorAndRenameTest() + { + DefaultValueWithConstructorAndRename myObject = JsonConvert.DeserializeObject("{}"); + Assert.AreEqual(DefaultValueWithConstructorAndRename.DefaultText, myObject.Text); + } + + private class DefaultValueWithConstructor + { + public const string DefaultText = "..."; + + [DefaultValue(DefaultText)] + [JsonProperty(PropertyName = "myText", DefaultValueHandling = DefaultValueHandling.Populate)] + public readonly string Text; + + public DefaultValueWithConstructor([JsonProperty(PropertyName = "myText")]string text = DefaultText) + { + Text = text; + } + } + + [Test] + public void DefaultValueWithConstructorTest() + { + DefaultValueWithConstructor myObject = JsonConvert.DeserializeObject("{}"); + Assert.AreEqual(DefaultValueWithConstructor.DefaultText, myObject.Text); + } + public class MyClass { [JsonIgnore]