diff --git a/Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs index 34e24ba5..001ea3ca 100644 --- a/Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs +++ b/Src/Newtonsoft.Json.Tests/Converters/BinaryConverterTests.cs @@ -35,7 +35,6 @@ using System.Text; using Newtonsoft.Json.Converters; #if !NETFX_CORE using NUnit.Framework; - #else using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; using TestFixture = Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestClassAttribute; diff --git a/Src/Newtonsoft.Json.Tests/Converters/KeyValuePairConverterTests.cs b/Src/Newtonsoft.Json.Tests/Converters/KeyValuePairConverterTests.cs new file mode 100644 index 00000000..337beef3 --- /dev/null +++ b/Src/Newtonsoft.Json.Tests/Converters/KeyValuePairConverterTests.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Serialization; +#if !NETFX_CORE +using NUnit.Framework; +#else +using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; +using TestFixture = Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestClassAttribute; +using Test = Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestMethodAttribute; +#endif + +namespace Newtonsoft.Json.Tests.Converters +{ + [TestFixture] + public class KeyValuePairConverterTests : TestFixtureBase + { + [Test] + public void SerializeUsingInternalConverter() + { + DefaultContractResolver contractResolver = new DefaultContractResolver(); + JsonObjectContract contract = (JsonObjectContract) contractResolver.ResolveContract(typeof (KeyValuePair)); + + Assert.AreEqual(typeof(KeyValuePairConverter), contract.InternalConverter.GetType()); + + IList> values = new List> + { + new KeyValuePair("123", 123), + new KeyValuePair("456", 456) + }; + + string json = JsonConvert.SerializeObject(values, Formatting.Indented); + + Console.WriteLine(json); + } + } +} \ No newline at end of file diff --git a/Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs b/Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs index 6561287a..b0f52362 100644 --- a/Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs +++ b/Src/Newtonsoft.Json.Tests/Linq/DynamicTests.cs @@ -786,6 +786,9 @@ namespace Newtonsoft.Json.Tests.Linq string newRole = newHotness.Roles[0]; // Admin + + Assert.AreEqual("Admin", oldRole); + Assert.AreEqual("Admin", newRole); } [Test] diff --git a/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.csproj b/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.csproj index b0bff76e..ba010240 100644 --- a/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.csproj +++ b/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.csproj @@ -69,6 +69,7 @@ + diff --git a/Src/Newtonsoft.Json.Tests/TestObjects/Person.cs b/Src/Newtonsoft.Json.Tests/TestObjects/Person.cs index 18b523f9..15048417 100644 --- a/Src/Newtonsoft.Json.Tests/TestObjects/Person.cs +++ b/Src/Newtonsoft.Json.Tests/TestObjects/Person.cs @@ -24,6 +24,8 @@ #endregion using System; +using System.Collections; +using System.Collections.Generic; using System.ComponentModel; namespace Newtonsoft.Json.Tests.TestObjects @@ -68,4 +70,9 @@ namespace Newtonsoft.Json.Tests.TestObjects public string Department { get; set; } public string JobTitle { get; set; } } + + public class Manager : Employee + { + public IList Employees { get; set; } + } } \ No newline at end of file