diff options
-rw-r--r-- | src/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.cs | 19 | ||||
-rw-r--r-- | src/System.Runtime.Serialization.Xml/tests/SerializationTypes.cs | 16 |
2 files changed, 20 insertions, 15 deletions
diff --git a/src/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.cs b/src/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.cs index e74fea849b..f6277d9104 100644 --- a/src/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.cs +++ b/src/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.cs @@ -3005,6 +3005,20 @@ string.Format(@"<?xml version=""1.0"" encoding=""utf-8""?> [ActiveIssue(10675)] #endif [Fact] + public static void XmlMembersMapping_PrimitiveValue() + { + string memberName = "value"; + var getDataRequestBodyValue = 3; + var getDataRequestBodyActual = RoundTripWithXmlMembersMapping<int>(getDataRequestBodyValue, memberName, "<?xml version=\"1.0\"?>\r\n<value xmlns=\"http://tempuri.org/\">3</value>"); + + Assert.NotNull(getDataRequestBodyActual); + Assert.Equal(getDataRequestBodyValue, getDataRequestBodyActual); + } + +#if ReflectionOnly + [ActiveIssue(10675)] +#endif + [Fact] public static void XmlMembersMapping_SimpleType() { string memberName = "GetData"; @@ -3030,7 +3044,7 @@ string.Format(@"<?xml version=""1.0"" encoding=""utf-8""?> Assert.Equal(requestBodyValue.composite.StringValue, requestBodyActual.composite.StringValue); } - private static T RoundTripWithXmlMembersMapping<T>(object requestBodyValue, string memberName, string baseline, bool skipStringCompare = false) where T : class + private static T RoundTripWithXmlMembersMapping<T>(object requestBodyValue, string memberName, string baseline, bool skipStringCompare = false) { var member = new XmlReflectionMember(); member.MemberName = memberName; @@ -3063,8 +3077,7 @@ string.Format(@"<?xml version=""1.0"" encoding=""utf-8""?> var actual = serializer.Deserialize(ms) as object[]; Assert.NotNull(actual); Assert.Equal(value.Length, actual.Length); - var requestBodyActual = actual[0] as T; - return requestBodyActual; + return (T)actual[0]; } } diff --git a/src/System.Runtime.Serialization.Xml/tests/SerializationTypes.cs b/src/System.Runtime.Serialization.Xml/tests/SerializationTypes.cs index e3f87ba168..7e63045e58 100644 --- a/src/System.Runtime.Serialization.Xml/tests/SerializationTypes.cs +++ b/src/System.Runtime.Serialization.Xml/tests/SerializationTypes.cs @@ -4237,7 +4237,6 @@ public class MySpecialOrder2 : MyOrder [System.Runtime.Serialization.DataContractAttribute(Namespace = "http://tempuri.org/")] public partial class GetDataRequestBody { - [System.Runtime.Serialization.DataMemberAttribute(Order = 0)] public int value; @@ -4254,7 +4253,6 @@ public partial class GetDataRequestBody [System.Runtime.Serialization.DataContractAttribute(Namespace = "http://tempuri.org/")] public partial class GetDataUsingDataContractRequestBody { - [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue = false, Order = 0)] public CompositeTypeForXmlMembersMapping composite; @@ -4282,14 +4280,11 @@ public partial class CompositeTypeForXmlMembersMapping { get { - return this.BoolValueField; + return BoolValueField; } set { - if ((this.BoolValueField.Equals(value) != true)) - { - this.BoolValueField = value; - } + BoolValueField = value; } } @@ -4298,14 +4293,11 @@ public partial class CompositeTypeForXmlMembersMapping { get { - return this.StringValueField; + return StringValueField; } set { - if ((object.ReferenceEquals(this.StringValueField, value) != true)) - { - this.StringValueField = value; - } + StringValueField = value; } } } |