From 08c87d3ef48de7e40ac5fb5683f6e7af48b0e5bb Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Fri, 9 May 2014 18:29:40 +1200 Subject: [PATCH] -Derp --- .../Serialization/DynamicConcreteTests.cs | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/Src/Newtonsoft.Json.Tests/Serialization/DynamicConcreteTests.cs b/Src/Newtonsoft.Json.Tests/Serialization/DynamicConcreteTests.cs index adcdf329..c856f006 100644 --- a/Src/Newtonsoft.Json.Tests/Serialization/DynamicConcreteTests.cs +++ b/Src/Newtonsoft.Json.Tests/Serialization/DynamicConcreteTests.cs @@ -43,6 +43,20 @@ namespace Newtonsoft.Json.Tests.Serialization [TestFixture] public class DynamicConcreteTests : TestFixtureBase { + public class DynamicConcreteContractResolver : DefaultContractResolver + { + protected override JsonContract CreateContract(Type objectType) + { + JsonContract contract = base.CreateContract(objectType); + + // create a dynamic mock object for interfaces or abstract classes + if (contract.CreatedType.IsInterface || contract.CreatedType.IsAbstract) + contract.DefaultCreator = () => DynamicConcrete.GetInstanceFor(contract.CreatedType); + + return contract; + } + } + [Test] public void UseDynamicConcreteIfTargetObjectTypeIsAnInterfaceWithNoBackingClass() { @@ -100,18 +114,6 @@ namespace Newtonsoft.Json.Tests.Serialization bool FuncWithValType_2(); } - public class DynamicConcreteContractResolver : DefaultContractResolver - { - protected override JsonContract CreateContract(Type objectType) - { - JsonContract contract = base.CreateContract(objectType); - if (contract.CreatedType.IsAbstract || contract.CreatedType.IsInterface) - contract.DefaultCreator = () => DynamicConcrete.GetInstanceFor(contract.CreatedType); - - return contract; - } - } - /// /// Creates run-time backing types for abstract classes and interfaces ///