Commits

gregsdennis  committed 6152bfe

BUG FIX: IJsonCompatible implementations may need to use the serializer
Added IJsonSerializer interface and obsoleted IJsonCompatible

  • Participants
  • Parent commits bd99789

Comments (0)

Files changed (15)

File Manatee.Json.Tests/Manatee.Json.Tests.csproj

     <Compile Include="DevTest.cs" />
     <Compile Include="JsonArrayExtensionsTest.cs" />
     <Compile Include="JsonObjectExtensionsTest.cs" />
-    <Compile Include="LabelTest.cs" />
+    <Compile Include="Test References\JsonSerializableClass.cs" />
+    <Compile Include="Test References\JsonSerializableImplementationClass.cs" />
     <Compile Include="XmlExtensionsTest.cs" />
     <Compile Include="JsonObjectTest.cs" />
     <Compile Include="JsonArrayTest.cs" />

File Manatee.Json.Tests/Serialization/JsonSerializerTest.cs

 			Assert.AreEqual(expected, actual);
 		}
 		[TestMethod]
+		public void Deserialize_InterfaceWithMapToIJsonSerializableImplementation_Successful()
+		{
+			var serializer = GetSerializer();
+			JsonValue json = new JsonObject
+				{
+					{"requiredProp", "test"}
+				};
+			IInterface expected = new JsonSerializableImplementationClass { RequiredProp = "test" };
+			JsonSerializationAbstractionMap.Map<IInterface, JsonSerializableImplementationClass>();
+
+			var actual = serializer.Deserialize<IInterface>(json);
+			Assert.AreEqual(expected, actual);
+		}
+		[TestMethod]
 		public void Deserialize_Nullable_Null_Successful()
 		{
 			var serializer = GetSerializer();
 			Assert.AreEqual(expected, actual);
 		}
 		[TestMethod]
+		public void Serialize_IJsonSerializable_Successful()
+		{
+			var serializer = GetSerializer();
+			var obj = new JsonSerializableClass("test string", 42);
+			var expected = new JsonObject
+				{
+					{"StringProp", "test string"},
+					{"IntProp", 42}
+				};
+			var actual = serializer.Serialize(obj);
+			Assert.AreEqual(expected, actual);
+		}
+		[TestMethod]
 		public void Serialize_List_Successfull()
 		{
 			var serializer = GetSerializer();

File Manatee.Json.Tests/Test References/IInterface.cs

+/***************************************************************************************
+
+	Copyright 2012 Greg Dennis
+
+	   Licensed under the Apache License, Version 2.0 (the "License");
+	   you may not use this file except in compliance with the License.
+	   You may obtain a copy of the License at
+
+		 http://www.apache.org/licenses/LICENSE-2.0
+
+	   Unless required by applicable law or agreed to in writing, software
+	   distributed under the License is distributed on an "AS IS" BASIS,
+	   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	   See the License for the specific language governing permissions and
+	   limitations under the License.
+ 
+	File Name:		IInterface.cs
+	Namespace:		Manatee.Tests.Test_References
+	Class Name:		IInterface
+	Purpose:		Simple interface to be used in testing the Manatee.Json
+					library.
+
+***************************************************************************************/
 using System;
 
 namespace Manatee.Tests.Test_References

File Manatee.Json.Tests/Test References/ImplementationClass.cs

-using System;
+/***************************************************************************************
+
+	Copyright 2012 Greg Dennis
+
+	   Licensed under the Apache License, Version 2.0 (the "License");
+	   you may not use this file except in compliance with the License.
+	   You may obtain a copy of the License at
+
+		 http://www.apache.org/licenses/LICENSE-2.0
+
+	   Unless required by applicable law or agreed to in writing, software
+	   distributed under the License is distributed on an "AS IS" BASIS,
+	   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	   See the License for the specific language governing permissions and
+	   limitations under the License.
+ 
+	File Name:		ImplementationClass.cs
+	Namespace:		Manatee.Tests.Test_References
+	Class Name:		ImplementationClass
+	Purpose:		Basic implementation of IInterface.
+
+***************************************************************************************/
+using System;
 
 namespace Manatee.Tests.Test_References
 {

File Manatee.Json.Tests/Test References/JsonCompatibleClass.cs

 		public string StringProp { get; private set; }
 		public int IntProp { get; private set; }
 
-		public JsonCompatibleClass() {}
+		public JsonCompatibleClass() { }
 		public JsonCompatibleClass(string s, int i)
 		{
 			StringProp = s;
 		{
 			unchecked
 			{
-				return ((StringProp != null ? StringProp.GetHashCode() : 0)*397) ^ IntProp;
+				return ((StringProp != null ? StringProp.GetHashCode() : 0) * 397) ^ IntProp;
 			}
 		}
 	}

File Manatee.Json.Tests/Test References/JsonCompatibleImplementationClass.cs

-using Manatee.Json;
+/***************************************************************************************
+
+	Copyright 2012 Greg Dennis
+
+	   Licensed under the Apache License, Version 2.0 (the "License");
+	   you may not use this file except in compliance with the License.
+	   You may obtain a copy of the License at
+
+		 http://www.apache.org/licenses/LICENSE-2.0
+
+	   Unless required by applicable law or agreed to in writing, software
+	   distributed under the License is distributed on an "AS IS" BASIS,
+	   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	   See the License for the specific language governing permissions and
+	   limitations under the License.
+ 
+	File Name:		JsonCompatibleImplementationClass.cs
+	Namespace:		Manatee.Tests.Test_References
+	Class Name:		JsonCompatibleImplementationClass
+	Purpose:		Basic class that implements IJsonCompatible to be used in
+					testing the Manatee.Json library.
+
+***************************************************************************************/
+using Manatee.Json;
 using Manatee.Json.Serialization;
 
 namespace Manatee.Tests.Test_References
 		}
 		public JsonValue ToJson()
 		{
-			return new JsonObject {{"requiredProp", RequiredProp}};
+			return new JsonObject { { "requiredProp", RequiredProp } };
 		}
 	}
 }

File Manatee.Json.Tests/Test References/JsonSerializableClass.cs

+/***************************************************************************************
+
+	Copyright 2012 Greg Dennis
+
+	   Licensed under the Apache License, Version 2.0 (the "License");
+	   you may not use this file except in compliance with the License.
+	   You may obtain a copy of the License at
+
+		 http://www.apache.org/licenses/LICENSE-2.0
+
+	   Unless required by applicable law or agreed to in writing, software
+	   distributed under the License is distributed on an "AS IS" BASIS,
+	   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	   See the License for the specific language governing permissions and
+	   limitations under the License.
+ 
+	File Name:		JsonCompatibleClass.cs
+	Namespace:		Manatee.Tests.Test_References
+	Class Name:		JsonCompatibleClass
+	Purpose:		Basic class that implements IJsonCompatible to be used in
+					testing the Manatee.Json library.
+
+***************************************************************************************/
+using Manatee.Json;
+using Manatee.Json.Serialization;
+
+namespace Manatee.Tests.Test_References
+{
+	public class JsonSerializableClass : IJsonSerializable
+	{
+		public string StringProp { get; private set; }
+		public int IntProp { get; private set; }
+
+		public JsonSerializableClass() { }
+		public JsonSerializableClass(string s, int i)
+		{
+			StringProp = s;
+			IntProp = i;
+		}
+
+		#region Implementation of IJsonSerializable
+
+		public void FromJson(JsonValue json, JsonSerializer serializer)
+		{
+			StringProp = json.Object["StringProp"].String;
+			IntProp = (int)json.Object["IntProp"].Number;
+		}
+
+		public JsonValue ToJson(JsonSerializer serializer)
+		{
+			return new JsonObject
+				{
+					{"StringProp", StringProp},
+					{"IntProp", IntProp}
+				};
+		}
+
+		#endregion
+
+		public override bool Equals(object obj)
+		{
+			if (obj is JsonCompatibleClass) return Equals((JsonCompatibleClass)obj);
+			return base.Equals(obj);
+		}
+
+		public bool Equals(JsonCompatibleClass other)
+		{
+			if (ReferenceEquals(null, other)) return false;
+			if (ReferenceEquals(this, other)) return true;
+			return Equals(other.StringProp, StringProp) && other.IntProp == IntProp;
+		}
+
+		public override int GetHashCode()
+		{
+			unchecked
+			{
+				return ((StringProp != null ? StringProp.GetHashCode() : 0) * 397) ^ IntProp;
+			}
+		}
+	}
+}

File Manatee.Json.Tests/Test References/JsonSerializableImplementationClass.cs

+/***************************************************************************************
+
+	Copyright 2012 Greg Dennis
+
+	   Licensed under the Apache License, Version 2.0 (the "License");
+	   you may not use this file except in compliance with the License.
+	   You may obtain a copy of the License at
+
+		 http://www.apache.org/licenses/LICENSE-2.0
+
+	   Unless required by applicable law or agreed to in writing, software
+	   distributed under the License is distributed on an "AS IS" BASIS,
+	   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	   See the License for the specific language governing permissions and
+	   limitations under the License.
+ 
+	File Name:		JsonSerializableImplementationClass.cs
+	Namespace:		Manatee.Tests.Test_References
+	Class Name:		JsonSerializableImplementationClass
+	Purpose:		Basic class that implements IJsonSerializable to be used in
+					testing the Manatee.Json library.
+
+***************************************************************************************/
+using Manatee.Json;
+using Manatee.Json.Serialization;
+
+namespace Manatee.Tests.Test_References
+{
+	public class JsonSerializableImplementationClass : ImplementationClass, IJsonSerializable
+	{
+		public void FromJson(JsonValue json, JsonSerializer serializer)
+		{
+			RequiredProp = json.Object["requiredProp"].String;
+		}
+		public JsonValue ToJson(JsonSerializer serializer)
+		{
+			return new JsonObject { { "requiredProp", RequiredProp } };
+		}
+	}
+}

File Manatee.Json.sln.DotSettings.user

 <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
-	<s:Boolean x:Key="/Default/Housekeeping/UnitTestingMru/UnitTestSessionPersistentData/=0FEFC915D2974C02A962C65A360B75ED/@KeyIndexDefined">True</s:Boolean>
-	<s:String x:Key="/Default/Housekeeping/UnitTestingMru/UnitTestSessionPersistentData/=0FEFC915D2974C02A962C65A360B75ED/Name/@EntryValue">Test1</s:String>
-	<s:String x:Key="/Default/Housekeeping/UnitTestingMru/UnitTestSessionPersistentData/=0FEFC915D2974C02A962C65A360B75ED/XmlSerializedElements/@EntryValue">&lt;Session&gt;&lt;Elements&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.DevTest" type="MsTestTestClassElement" TypeName="Manatee.Json.Tests.DevTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.DevTest.Test1" ParentId="MsTest:Manatee.Json.Tests.DevTest" type="MsTestTestMethodElement" MethodName="Test1" TypeName="Manatee.Json.Tests.DevTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;/Elements&gt;&lt;/Session&gt;</s:String></wpf:ResourceDictionary>
+	<s:String x:Key="/Default/Housekeeping/UnitTestingMru/UnitTestSessionPersistentData/=F3B0C6EE3084457B8CA910870FFC4DFE/XmlSerializedElements/@EntryValue">&lt;Session&gt;&lt;Elements&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.DevTest" type="MsTestTestClassElement" TypeName="Manatee.Json.Tests.DevTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonArrayExtensionsTest" type="MsTestTestClassElement" TypeName="Manatee.Json.Tests.JsonArrayExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonArrayTest" type="MsTestTestClassElement" TypeName="Manatee.Json.Tests.JsonArrayTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestClassElement" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestClassElement" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestClassElement" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestClassElement" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.LinqExtensionsTest" type="MsTestTestClassElement" TypeName="Manatee.Json.Tests.LinqExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest" type="MsTestTestClassElement" TypeName="Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestClassElement" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Accessor_GetArrayWhenArray_ReturnsValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Accessor_GetArrayWhenArray_ReturnsValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Accessor_GetArrayWhenNotArray_ThrowsJsonValueIncorrectTypeException" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Accessor_GetArrayWhenNotArray_ThrowsJsonValueIncorrectTypeException" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Accessor_GetBoolWhenBool_ReturnsValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Accessor_GetBoolWhenBool_ReturnsValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Accessor_GetBoolWhenNotBool_ThrowsJsonValueIncorrectTypeException" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Accessor_GetBoolWhenNotBool_ThrowsJsonValueIncorrectTypeException" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Accessor_GetNumberWhenNotNumber_ThrowsJsonValueIncorrectTypeException" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Accessor_GetNumberWhenNotNumber_ThrowsJsonValueIncorrectTypeException" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Accessor_GetNumberWhenNumber_ReturnsValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Accessor_GetNumberWhenNumber_ReturnsValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Accessor_GetObjectWhenNotObject_ThrowsJsonValueIncorrectTypeException" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Accessor_GetObjectWhenNotObject_ThrowsJsonValueIncorrectTypeException" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Accessor_GetObjectWhenObject_ReturnsValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Accessor_GetObjectWhenObject_ReturnsValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Accessor_GetStringWhenNotString_ThrowsJsonValueIncorrectTypeException" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Accessor_GetStringWhenNotString_ThrowsJsonValueIncorrectTypeException" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Accessor_GetStringWhenString_ReturnsValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Accessor_GetStringWhenString_ReturnsValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Add_NullValueAddsJsonNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Add_NullValueAddsJsonNull" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest.CacheTypes_Success" ParentId="MsTest:Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest" type="MsTestTestMethodElement" MethodName="CacheTypes_Success" TypeName="Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.CastOperator_Array_AssignsCorrectValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="CastOperator_Array_AssignsCorrectValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.CastOperator_Bool_AssignsCorrectValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="CastOperator_Bool_AssignsCorrectValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.CastOperator_Number_AssignsCorrectValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="CastOperator_Number_AssignsCorrectValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.CastOperator_Object_AssignsCorrectValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="CastOperator_Object_AssignsCorrectValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.CastOperator_String_AssignsCorrectValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="CastOperator_String_AssignsCorrectValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_AbstractAndInterfacePropsWithMap_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_AbstractAndInterfacePropsWithMap_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_AbstractAndInterfacePropsWithoutMap_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_AbstractAndInterfacePropsWithoutMap_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_AbstractClass_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_AbstractClass_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_AbstractClassWithMap_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_AbstractClassWithMap_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_Basic_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_Basic_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_BasicWithNamedEnum_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_BasicWithNamedEnum_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_CircularStructure_MaintainsReferences" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_CircularStructure_MaintainsReferences" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_CustomOptions_ThrowsTypeDoesNotContainPropertyException" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_CustomOptions_ThrowsTypeDoesNotContainPropertyException" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_DateTimeDefaultOptions_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_DateTimeDefaultOptions_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_DateTimeJavaFormat_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_DateTimeJavaFormat_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_DateTimeMilliseconds_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_DateTimeMilliseconds_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_DefaultOptions_IgnoresExtraProperties" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_DefaultOptions_IgnoresExtraProperties" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_Dictionary_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_Dictionary_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_IJsonCompatible_Successfull" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_IJsonCompatible_Successfull" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_Interface_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_Interface_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_InterfaceWithMap_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_InterfaceWithMap_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_InterfaceWithMapToIJsonCompatibleImplementation_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_InterfaceWithMapToIJsonCompatibleImplementation_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_InterfaceWithMapToIJsonSerializableImplementation_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_InterfaceWithMapToIJsonSerializableImplementation_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_InterfaceWithoutMap_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_InterfaceWithoutMap_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_List_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_List_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_Nullable_NonNull_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_Nullable_NonNull_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_Nullable_Null_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_Nullable_Null_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_Queue_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_Queue_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_RegisteredType_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_RegisteredType_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_Stack_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_Stack_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Deserialize_UnimplementedInterface_ReturnsRunTimeImplementation" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Deserialize_UnimplementedInterface_ReturnsRunTimeImplementation" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.DeserializeType_Successfull" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="DeserializeType_Successfull" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Equals_DifferentTypeDifferentValues_ReturnsFalse" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Equals_DifferentTypeDifferentValues_ReturnsFalse" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Equals_DifferentValues_ReturnsFalse" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Equals_DifferentValues_ReturnsFalse" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonArrayTest.Equals_DifferentValues_ReturnsFalse" ParentId="MsTest:Manatee.Json.Tests.JsonArrayTest" type="MsTestTestMethodElement" MethodName="Equals_DifferentValues_ReturnsFalse" TypeName="Manatee.Json.Tests.JsonArrayTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Equals_SameTypeDifferentValues_ReturnsFalse" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Equals_SameTypeDifferentValues_ReturnsFalse" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Equals_SameTypeSameValue_ReturnsTrue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Equals_SameTypeSameValue_ReturnsTrue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonArrayTest.Equals_SameValuesDifferentOrder_ReturnsFalse" ParentId="MsTest:Manatee.Json.Tests.JsonArrayTest" type="MsTestTestMethodElement" MethodName="Equals_SameValuesDifferentOrder_ReturnsFalse" TypeName="Manatee.Json.Tests.JsonArrayTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Equals_SameValuesDifferentOrder_ReturnsTrue" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Equals_SameValuesDifferentOrder_ReturnsTrue" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonArrayTest.Equals_SameValuesSameOrder_ReturnsTrue" ParentId="MsTest:Manatee.Json.Tests.JsonArrayTest" type="MsTestTestMethodElement" MethodName="Equals_SameValuesSameOrder_ReturnsTrue" TypeName="Manatee.Json.Tests.JsonArrayTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Equals_SameValuesSameOrder_ReturnsTrue" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Equals_SameValuesSameOrder_ReturnsTrue" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest.EventSubscription_Success" ParentId="MsTest:Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest" type="MsTestTestMethodElement" MethodName="EventSubscription_Success" TypeName="Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Indexer_NullValueAddsJsonNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Indexer_NullValueAddsJsonNull" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest.MethodCall_Success" ParentId="MsTest:Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest" type="MsTestTestMethodElement" MethodName="MethodCall_Success" TypeName="Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonArrayExtensionsTest.OfType_ReturnsOnlyRequestType" ParentId="MsTest:Manatee.Json.Tests.JsonArrayExtensionsTest" type="MsTestTestMethodElement" MethodName="OfType_ReturnsOnlyRequestType" TypeName="Manatee.Json.Tests.JsonArrayExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonArrayTest.Parse_EmptyArray_ReturnsEmptyArray" ParentId="MsTest:Manatee.Json.Tests.JsonArrayTest" type="MsTestTestMethodElement" MethodName="Parse_EmptyArray_ReturnsEmptyArray" TypeName="Manatee.Json.Tests.JsonArrayTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Parse_EmptyObject_ReturnsEmptyObject" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Parse_EmptyObject_ReturnsEmptyObject" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Parse_StringFromSourceForge_kheimric" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Parse_StringFromSourceForge_kheimric" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Parse_StringMissingCloseBrace_ThrowsJsonSyntaxException" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Parse_StringMissingCloseBrace_ThrowsJsonSyntaxException" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonArrayTest.Parse_StringMissingCloseBracket_ThrowsJsonSyntaxException" ParentId="MsTest:Manatee.Json.Tests.JsonArrayTest" type="MsTestTestMethodElement" MethodName="Parse_StringMissingCloseBracket_ThrowsJsonSyntaxException" TypeName="Manatee.Json.Tests.JsonArrayTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Parse_StringMissingDelimiter_ThrowsJsonValueParseException" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Parse_StringMissingDelimiter_ThrowsJsonValueParseException" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Parse_StringMissingKey_ThrowsJsonSyntaxException" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Parse_StringMissingKey_ThrowsJsonSyntaxException" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Parse_StringMissingKeyValue_ThrowsJsonSyntaxException" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Parse_StringMissingKeyValue_ThrowsJsonSyntaxException" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Parse_StringMissingKeyValueDelimiter_ThrowsJsonSyntaxException" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Parse_StringMissingKeyValueDelimiter_ThrowsJsonSyntaxException" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Parse_StringMissingOpenBrace_ThrowsJsonSyntaxException" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Parse_StringMissingOpenBrace_ThrowsJsonSyntaxException" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonArrayTest.Parse_StringMissingOpenBracket_ThrowsJsonSyntaxException" ParentId="MsTest:Manatee.Json.Tests.JsonArrayTest" type="MsTestTestMethodElement" MethodName="Parse_StringMissingOpenBracket_ThrowsJsonSyntaxException" TypeName="Manatee.Json.Tests.JsonArrayTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Parse_StringMissingValue_ThrowsJsonSyntaxException" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Parse_StringMissingValue_ThrowsJsonSyntaxException" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonArrayTest.Parse_StringMissingValue_ThrowsJsonSyntaxException" ParentId="MsTest:Manatee.Json.Tests.JsonArrayTest" type="MsTestTestMethodElement" MethodName="Parse_StringMissingValue_ThrowsJsonSyntaxException" TypeName="Manatee.Json.Tests.JsonArrayTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringValueWithEscapedBackspace_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringValueWithEscapedBackspace_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringValueWithEscapedCarriageReturn_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringValueWithEscapedCarriageReturn_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringValueWithEscapedFormFeed_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringValueWithEscapedFormFeed_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringValueWithEscapedHexadecimalValue_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringValueWithEscapedHexadecimalValue_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringValueWithEscapedHorizontalTab_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringValueWithEscapedHorizontalTab_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringValueWithEscapedNewLine_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringValueWithEscapedNewLine_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringValueWithEscapedQuote_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringValueWithEscapedQuote_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringValueWithEscapedReverseSolidus_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringValueWithEscapedReverseSolidus_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringValueWithEscapedSolidus_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringValueWithEscapedSolidus_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringValueWithSurrogateUnicodePair_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringValueWithSurrogateUnicodePair_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringWithArray_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringWithArray_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringWithBadToken_ThrowsJsonValueParseException" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringWithBadToken_ThrowsJsonValueParseException" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringWithBoolFalse_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringWithBoolFalse_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringWithBoolTrue_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringWithBoolTrue_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringWithNull_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringWithNull_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringWithNumber_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringWithNumber_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringWithObject_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringWithObject_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.Parse_StringWithString_ReturnsCorrectJsonValue" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="Parse_StringWithString_ReturnsCorrectJsonValue" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonArrayTest.Parse_ValidString_ReturnsCorrectArray" ParentId="MsTest:Manatee.Json.Tests.JsonArrayTest" type="MsTestTestMethodElement" MethodName="Parse_ValidString_ReturnsCorrectArray" TypeName="Manatee.Json.Tests.JsonArrayTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.Parse_ValidString_ReturnsCorrectObject" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="Parse_ValidString_ReturnsCorrectObject" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest.PropertyReadAndWrite_Success" ParentId="MsTest:Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest" type="MsTestTestMethodElement" MethodName="PropertyReadAndWrite_Success" TypeName="Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.RoundTrip_StartingWithJson" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="RoundTrip_StartingWithJson" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.RoundTrip_StartingWithXml" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="RoundTrip_StartingWithXml" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_AbstractAndInterfaceProps_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_AbstractAndInterfaceProps_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_AbstractClass_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_AbstractClass_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_Basic_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_Basic_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_BasicWithNamedEnum_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_BasicWithNamedEnum_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_CircularStructure_SerializesWithReference" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_CircularStructure_SerializesWithReference" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_CustomOptions_SerializesDefaultValues" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_CustomOptions_SerializesDefaultValues" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_DateTimeDefaultOptions_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_DateTimeDefaultOptions_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_DateTimeJavaFormat_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_DateTimeJavaFormat_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_DateTimeMilliseconds_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_DateTimeMilliseconds_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_DefaultOptions_IgnoresDefaultValues" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_DefaultOptions_IgnoresDefaultValues" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_Dictionary_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_Dictionary_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_IJsonCompatible_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_IJsonCompatible_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_IJsonSerializable_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_IJsonSerializable_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_Interface_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_Interface_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_List_Successfull" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_List_Successfull" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_Nullable_NonNull_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_Nullable_NonNull_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_Nullable_Null_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_Nullable_Null_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_Queue_Successfull" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_Queue_Successfull" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_RegisteredType_Successful" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_RegisteredType_Successful" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.Serialize_Stack_Successfull" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="Serialize_Stack_Successfull" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest.SerializeType_Successfull" ParentId="MsTest:Manatee.Json.Tests.Serialization.JsonSerializerTest" type="MsTestTestMethodElement" MethodName="SerializeType_Successfull" TypeName="Manatee.Json.Tests.Serialization.JsonSerializerTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.DevTest.Test1" ParentId="MsTest:Manatee.Json.Tests.DevTest" type="MsTestTestMethodElement" MethodName="Test1" TypeName="Manatee.Json.Tests.DevTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.DevTest.Test2" ParentId="MsTest:Manatee.Json.Tests.DevTest" type="MsTestTestMethodElement" MethodName="Test2" TypeName="Manatee.Json.Tests.DevTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToJson_ComplexElement_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_ComplexElement_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToJson_ElementWithBooleanStringValue_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_ElementWithBooleanStringValue_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToJson_ElementWithBooleanValue_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_ElementWithBooleanValue_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToJson_ElementWithNullValue_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_ElementWithNullValue_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToJson_ElementWithNumberValue_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_ElementWithNumberValue_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToJson_ElementWithNumericStringValue_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_ElementWithNumericStringValue_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToJson_ElementWithStringValue_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_ElementWithStringValue_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.LinqExtensionsTest.ToJson_FilteringArray_ReturnsArray" ParentId="MsTest:Manatee.Json.Tests.LinqExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_FilteringArray_ReturnsArray" TypeName="Manatee.Json.Tests.LinqExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.LinqExtensionsTest.ToJson_FilteringObject_ReturnsObject" ParentId="MsTest:Manatee.Json.Tests.LinqExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_FilteringObject_ReturnsObject" TypeName="Manatee.Json.Tests.LinqExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.LinqExtensionsTest.ToJson_FilteringObjectExtractValues_ReturnsArray" ParentId="MsTest:Manatee.Json.Tests.LinqExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_FilteringObjectExtractValues_ReturnsArray" TypeName="Manatee.Json.Tests.LinqExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToJson_MultipleRootElementsSimpleContents_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_MultipleRootElementsSimpleContents_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToJson_SingleRootElementComplexContents_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_SingleRootElementComplexContents_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToJson_SingleRootElementSimpleContents_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToJson_SingleRootElementSimpleContents_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.ToString_Array_ReturnsCorrectString" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="ToString_Array_ReturnsCorrectString" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.ToString_BoolFalse_ReturnsCorrectString" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="ToString_BoolFalse_ReturnsCorrectString" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.ToString_BoolTrue_ReturnsCorrectString" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="ToString_BoolTrue_ReturnsCorrectString" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.ToString_EscapableCharacters_ReturnsCorrectString" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="ToString_EscapableCharacters_ReturnsCorrectString" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.ToString_Null_ReturnsCorrectString" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="ToString_Null_ReturnsCorrectString" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.ToString_Number_ReturnsCorrectString" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="ToString_Number_ReturnsCorrectString" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.ToString_Object_ReturnsCorrectString" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="ToString_Object_ReturnsCorrectString" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectTest.ToString_ReturnsCorrectString" ParentId="MsTest:Manatee.Json.Tests.JsonObjectTest" type="MsTestTestMethodElement" MethodName="ToString_ReturnsCorrectString" TypeName="Manatee.Json.Tests.JsonObjectTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonArrayTest.ToString_ReturnsCorrectString" ParentId="MsTest:Manatee.Json.Tests.JsonArrayTest" type="MsTestTestMethodElement" MethodName="ToString_ReturnsCorrectString" TypeName="Manatee.Json.Tests.JsonArrayTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonValueTest.ToString_String_ReturnsCorrectString" ParentId="MsTest:Manatee.Json.Tests.JsonValueTest" type="MsTestTestMethodElement" MethodName="ToString_String_ReturnsCorrectString" TypeName="Manatee.Json.Tests.JsonValueTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_ArrayNullKey_ThrowsArgumentException" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_ArrayNullKey_ThrowsArgumentException" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_ArrayWithKey_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_ArrayWithKey_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_ArrayWithNestedArray_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_ArrayWithNestedArray_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_ArrayWithNestedArrayWithNestedObjectContainingSameKey_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_ArrayWithNestedArrayWithNestedObjectContainingSameKey_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_BooleanNullKey_ThrowsArgumentException" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_BooleanNullKey_ThrowsArgumentException" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_BooleanStringWithKey_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_BooleanStringWithKey_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_BooleanWithKey_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_BooleanWithKey_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_ComplexObject_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_ComplexObject_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_NullNullKey_ThrowsArgumentException" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_NullNullKey_ThrowsArgumentException" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_NullWithKey_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_NullWithKey_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_NumberNullKey_ThrowsArgumentException" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_NumberNullKey_ThrowsArgumentException" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_NumberWithKey_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_NumberWithKey_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_NumericStringWithKey_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_NumericStringWithKey_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_ObjectNullKeyMultiplePairs_ThrowsArgumentException" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_ObjectNullKeyMultiplePairs_ThrowsArgumentException" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_ObjectNullKeySinglePair_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_ObjectNullKeySinglePair_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_ObjectWithKey_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_ObjectWithKey_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_StringNullKey_ThrowsArgumentException" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_StringNullKey_ThrowsArgumentException" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.XmlExtensionsTest.ToXElement_StringWithKey_MapsCorrectly" ParentId="MsTest:Manatee.Json.Tests.XmlExtensionsTest" type="MsTestTestMethodElement" MethodName="ToXElement_StringWithKey_MapsCorrectly" TypeName="Manatee.Json.Tests.XmlExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetArray_NullObjectReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetArray_NullObjectReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetArray_ReturnsRequested" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetArray_ReturnsRequested" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetArray_ValueNotBooleanReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetArray_ValueNotBooleanReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetArray_ValueNotFoundReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetArray_ValueNotFoundReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetBoolean_NullObjectReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetBoolean_NullObjectReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetBoolean_ReturnsRequested" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetBoolean_ReturnsRequested" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetBoolean_ValueNotBooleanReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetBoolean_ValueNotBooleanReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetBoolean_ValueNotFoundReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetBoolean_ValueNotFoundReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetNumber_NullObjectReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetNumber_NullObjectReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetNumber_ReturnsRequested" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetNumber_ReturnsRequested" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetNumber_ValueNotFoundReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetNumber_ValueNotFoundReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetNumber_ValueNotNumberReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetNumber_ValueNotNumberReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetObject_NullObjectReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetObject_NullObjectReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetObject_ReturnsRequested" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetObject_ReturnsRequested" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetObject_ValueNotBooleanReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetObject_ValueNotBooleanReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetObject_ValueNotFoundReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetObject_ValueNotFoundReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetString_NullObjectReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetString_NullObjectReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetString_ReturnsRequested" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetString_ReturnsRequested" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetString_ValueNotFoundReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetString_ValueNotFoundReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest.TryGetString_ValueNotStringReturnsNull" ParentId="MsTest:Manatee.Json.Tests.JsonObjectExtensionsTest" type="MsTestTestMethodElement" MethodName="TryGetString_ValueNotStringReturnsNull" TypeName="Manatee.Json.Tests.JsonObjectExtensionsTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;UnitTestElement Provider="MSTest" Id="MsTest:Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest.TypeCreation_Success" ParentId="MsTest:Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest" type="MsTestTestMethodElement" MethodName="TypeCreation_Success" TypeName="Manatee.Json.Tests.Serialization.Internal.TypeGeneratorTest" Project="E74B7538-5E17-43C7-925B-33784945312E" /&gt;&lt;/Elements&gt;&lt;/Session&gt;</s:String>
+	<s:String x:Key="/Default/Housekeeping/UnitTestingMru/UnitTestSessionPersistentData/=F3B0C6EE3084457B8CA910870FFC4DFE/Name/@EntryValue">Deserialize_InterfaceWithMapToIJsonCompatibleImplementation_Successful</s:String>
+	<s:Boolean x:Key="/Default/Housekeeping/UnitTestingMru/UnitTestSessionPersistentData/=F3B0C6EE3084457B8CA910870FFC4DFE/@KeyIndexDefined">True</s:Boolean></wpf:ResourceDictionary>

File Manatee.Json.v11.suo

Binary file modified.

File Manatee.Json/Manatee.Json.csproj

     <Compile Include="Schema\StringFormat.cs" />
     <Compile Include="Schema\SchemaValidationError.cs" />
     <Compile Include="Schema\SchemaValidationResults.cs" />
+    <Compile Include="Serialization\IJsonSerializable.cs" />
+    <Compile Include="Serialization\Internal\JsonSerializableSerializer.cs" />
     <Compile Include="Serialization\JsonMapToAttribute.cs" />
     <Compile Include="Serialization\EnumSerializationFormat.cs" />
     <Compile Include="Serialization\MapBaseAbstractionBehavior.cs" />

File Manatee.Json/Serialization/IJsonCompatible.cs

 					for serialization.
 
 ***************************************************************************************/
+
+using System;
+
 namespace Manatee.Json.Serialization
 {
 	/// <summary>
 	/// Provides implementers the option to set a preferred method for serialization.
 	/// </summary>
+	[Obsolete("IJsonCompatible has been marked obsolete.  Please use IJsonSerializable instead.")]
 	public interface IJsonCompatible
 	{
 		/// <summary>

File Manatee.Json/Serialization/IJsonSerializable.cs

+/***************************************************************************************
+
+	Copyright 2012 Greg Dennis
+
+	   Licensed under the Apache License, Version 2.0 (the "License");
+	   you may not use this file except in compliance with the License.
+	   You may obtain a copy of the License at
+
+		 http://www.apache.org/licenses/LICENSE-2.0
+
+	   Unless required by applicable law or agreed to in writing, software
+	   distributed under the License is distributed on an "AS IS" BASIS,
+	   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	   See the License for the specific language governing permissions and
+	   limitations under the License.
+ 
+	File Name:		IJsonSerializable.cs
+	Namespace:		Manatee.Json.Serialization
+	Class Name:		IJsonSerializable
+	Purpose:		Provides implementers the option to set a preferred method
+					for serialization.
+
+***************************************************************************************/
+
+namespace Manatee.Json.Serialization
+{
+	/// <summary>
+	/// Provides implementers the option to set a preferred method for serialization.
+	/// </summary>
+	public interface IJsonSerializable
+	{
+		/// <summary>
+		/// Builds an object from a <see cref="JsonValue"/>.
+		/// </summary>
+		/// <param name="json">The <see cref="JsonValue"/> representation of the object.</param>
+		/// <param name="serializer">The <see cref="JsonSerializer"/> instance to use for additional
+		/// serialization of values.</param>
+		void FromJson(JsonValue json, JsonSerializer serializer);
+		/// <summary>
+		/// Converts an object to a <see cref="JsonValue"/>.
+		/// </summary>
+		/// <param name="serializer">The <see cref="JsonSerializer"/> instance to use for additional
+		/// serialization of values.</param>
+		/// <returns>The <see cref="JsonValue"/> representation of the object.</returns>
+		JsonValue ToJson(JsonSerializer serializer);
+	}
+}

File Manatee.Json/Serialization/Internal/JsonSerializableSerializer.cs

+/***************************************************************************************
+
+	Copyright 2012 Greg Dennis
+
+	   Licensed under the Apache License, Version 2.0 (the "License");
+	   you may not use this file except in compliance with the License.
+	   You may obtain a copy of the License at
+
+		 http://www.apache.org/licenses/LICENSE-2.0
+
+	   Unless required by applicable law or agreed to in writing, software
+	   distributed under the License is distributed on an "AS IS" BASIS,
+	   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+	   See the License for the specific language governing permissions and
+	   limitations under the License.
+ 
+	File Name:		JsonSerializableSerializer.cs
+	Namespace:		Manatee.Json.Serialization.Internal
+	Class Name:		JsonSerializableSerializer
+	Purpose:		Converts objects which implement IJsonSerializable to and from
+					JsonValues.
+
+***************************************************************************************/
+
+namespace Manatee.Json.Serialization.Internal
+{
+	public class JsonSerializableSerializer : ISerializer
+	{
+		public bool ShouldMaintainReferences { get { return true; } }
+
+		public JsonValue Serialize<T>(T obj, JsonSerializer serializer)
+		{
+			var serializable = (IJsonSerializable) obj;
+			return serializable.ToJson(serializer);
+		}
+		public T Deserialize<T>(JsonValue json, JsonSerializer serializer)
+		{
+			var value = (IJsonSerializable) JsonSerializationAbstractionMap.CreateInstance<T>(json);
+			value.FromJson(json, serializer);
+			return (T) value;
+		}
+	}
+}

File Manatee.Json/Serialization/Internal/SerializerFactory.cs

 		private static readonly EnumNameSerializer EnumNameSerializer;
 		private static readonly EnumValueSerializer EnumValueSerializer;
 		private static readonly JsonCompatibleSerializer JsonCompatibleSerializer;
+		private static readonly JsonSerializableSerializer JsonSerializableSerializer;
 		private static readonly NumericSerializer NumericSerializer;
 		private static readonly RegisteredObjectSerializer RegisteredObjectSerializer;
 		private static readonly StringSerializer StringSerializer;
 			EnumNameSerializer = new EnumNameSerializer();
 			EnumValueSerializer = new EnumValueSerializer();
 			JsonCompatibleSerializer = new JsonCompatibleSerializer();
+			JsonSerializableSerializer = new JsonSerializableSerializer();
 			NumericSerializer = new NumericSerializer();
 			RegisteredObjectSerializer = new RegisteredObjectSerializer();
 			StringSerializer = new StringSerializer();
 				return BuildSerializer(SchemaSerializer);
 			if (JsonSerializationTypeRegistry.IsRegistered(type))
 				return BuildSerializer(RegisteredObjectSerializer);
+			if (typeof(IJsonSerializable).IsAssignableFrom(typeToSerialize))
+				return BuildSerializer(JsonSerializableSerializer);
 			if (typeof(IJsonCompatible).IsAssignableFrom(typeToSerialize))
 				return BuildSerializer(JsonCompatibleSerializer);
 			if (typeof(Enum).IsAssignableFrom(typeToSerialize))