diff --git a/src/Microsoft.TestPlatform.ObjectModel/TestProperty/CustomKeyValueConverter.cs b/src/Microsoft.TestPlatform.ObjectModel/TestProperty/CustomKeyValueConverter.cs index 7095630f1b..6183496e9e 100644 --- a/src/Microsoft.TestPlatform.ObjectModel/TestProperty/CustomKeyValueConverter.cs +++ b/src/Microsoft.TestPlatform.ObjectModel/TestProperty/CustomKeyValueConverter.cs @@ -45,13 +45,13 @@ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo c { // Converting Json data to array of KeyValuePairs with duplicate keys. var serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(TraitObject[])); - var listOfTraitObjects = serializer.ReadObject(stream) as TraitObject[]; + var listOfTraitObjects = serializer.ReadObject(stream) as TraitObject[]; - return listOfTraitObjects.Select(i => new KeyValuePair(i.Key, i.Value)).ToArray();; + return listOfTraitObjects.Select(i => new KeyValuePair(i.Key, i.Value)).ToArray(); } } - return base.ConvertFrom(context, culture, value); + return null; } [System.Runtime.Serialization.DataContract] diff --git a/src/Microsoft.TestPlatform.ObjectModel/TestProperty/CustomStringArrayConverter.cs b/src/Microsoft.TestPlatform.ObjectModel/TestProperty/CustomStringArrayConverter.cs index 6832952b98..254562555a 100644 --- a/src/Microsoft.TestPlatform.ObjectModel/TestProperty/CustomStringArrayConverter.cs +++ b/src/Microsoft.TestPlatform.ObjectModel/TestProperty/CustomStringArrayConverter.cs @@ -45,7 +45,7 @@ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo c } } - return base.ConvertFrom(context, culture, value); + return null; } } } \ No newline at end of file diff --git a/test/Microsoft.TestPlatform.ObjectModel.UnitTests/CustomKeyValueConverterTests.cs b/test/Microsoft.TestPlatform.ObjectModel.UnitTests/CustomKeyValueConverterTests.cs index 44acbd3f32..5465451ba7 100644 --- a/test/Microsoft.TestPlatform.ObjectModel.UnitTests/CustomKeyValueConverterTests.cs +++ b/test/Microsoft.TestPlatform.ObjectModel.UnitTests/CustomKeyValueConverterTests.cs @@ -85,5 +85,13 @@ public void CustomKeyValueConverterShouldDeserializeDuplicateKeysKvps() Assert.AreEqual("key1", data[1].Key); Assert.AreEqual("val2", data[1].Value); } + + [TestMethod] + public void CustomKeyValueConverterShouldDeserializeNullValue() + { + var data = this.customKeyValueConverter.ConvertFrom(null, CultureInfo.InvariantCulture, null) as KeyValuePair[]; + + Assert.AreEqual(null, data); + } } } diff --git a/test/Microsoft.TestPlatform.ObjectModel.UnitTests/CustomStringArrayConverterTests.cs b/test/Microsoft.TestPlatform.ObjectModel.UnitTests/CustomStringArrayConverterTests.cs index b93508b581..a20dedc10c 100644 --- a/test/Microsoft.TestPlatform.ObjectModel.UnitTests/CustomStringArrayConverterTests.cs +++ b/test/Microsoft.TestPlatform.ObjectModel.UnitTests/CustomStringArrayConverterTests.cs @@ -67,5 +67,14 @@ public void CustomStringArrayConverterShouldDeserializeEmptyKeyOrValue() Assert.AreEqual(string.Empty, data[0]); Assert.AreEqual(string.Empty, data[1]); } + + + [TestMethod] + public void CustomStringArrayConverterShouldDeserializeNullValue() + { + var data = this.customStringArrayConverter.ConvertFrom(null, CultureInfo.InvariantCulture, null) as string[]; + + Assert.AreEqual(null, data); + } } } \ No newline at end of file