public void SetCollectionProperty_CollectionTypeCanBeInstantiated_And_SettableProperty(string propertyName) { object value = new SampleClassWithSettableCollectionProperties(); DeserializationHelpers.SetCollectionProperty(value, propertyName, isDelta: false, value: new List <int> { 1, 2, 3 }); Assert.Equal( new[] { 1, 2, 3 }, value.GetType().GetProperty(propertyName).GetValue(value, index: null) as IEnumerable <int>); }
public void SetCollectionProperty_CollectionTypeCannotBeInstantiated_And_SettableProperty_Throws(string propertyName) { object value = new SampleClassWithSettableCollectionProperties(); Assert.Throws <SerializationException>( () => DeserializationHelpers.SetCollectionProperty(value, propertyName, isDelta: false, value: new List <int> { 1, 2, 3 }), String.Format("The property '{0}' on type 'System.Web.Http.OData.Formatter.Deserialization.DeserializationHelpersTest+SampleClassWithSettableCollectionProperties' returned a null value. " + "The input stream contains collection items which cannot be added if the instance is null.", propertyName)); }
public void SetCollectionProperty_CollectionTypeCannotBeInstantiated_And_SettableProperty_Throws(string propertyName) { object value = new SampleClassWithSettableCollectionProperties(); IEdmProperty edmProperty = GetMockEdmProperty(propertyName, EdmPrimitiveTypeKind.Int32); ExceptionAssert.Throws <SerializationException>( () => DeserializationHelpers.SetCollectionProperty(value, edmProperty, value: new List <int> { 1, 2, 3 }, propertyName: edmProperty.Name), String.Format("The property '{0}' on type 'Microsoft.AspNet.OData.Test.Formatter.Deserialization.DeserializationHelpersTest+SampleClassWithSettableCollectionProperties' returned a null value. " + "The input stream contains collection items which cannot be added if the instance is null.", propertyName)); }
public void SetCollectionProperty_CollectionTypeCanBeInstantiated_And_SettableProperty(string propertyName) { object value = new SampleClassWithSettableCollectionProperties(); IEdmProperty edmProperty = GetMockEdmProperty(propertyName, EdmPrimitiveTypeKind.Int32); DeserializationHelpers.SetCollectionProperty(value, edmProperty, value: new List <int> { 1, 2, 3 }); Assert.Equal( new[] { 1, 2, 3 }, value.GetType().GetProperty(propertyName).GetValue(value, index: null) as IEnumerable <int>); }