public void ReadCollectionValue_ThrowsArgumentNull_ElementType() { var deserializer = new ODataCollectionDeserializer(new DefaultODataDeserializerProvider()); Assert.ThrowsArgumentNull( () => deserializer.ReadCollectionValue(new ODataCollectionValue(), elementType: null, readContext: new ODataDeserializerContext()).GetEnumerator().MoveNext(), "elementType"); }
public void ReadCollectionValue_ThrowsArgumentNull_CollectionValue() { // Arrange var deserializer = new ODataCollectionDeserializer(DeserializerProvider); // Act & Assert Assert.ThrowsArgumentNull(() => deserializer.ReadCollectionValue(collectionValue: null, elementType: IntCollectionType.ElementType(), readContext: new ODataDeserializerContext()).GetEnumerator().MoveNext(), "collectionValue"); }
public void ReadCollectionValue_Throws_IfElementTypeCannotBeDeserialized() { Mock <ODataDeserializerProvider> deserializerProvider = new Mock <ODataDeserializerProvider>(); deserializerProvider.Setup(p => p.GetEdmTypeDeserializer(_addressType)).Returns <ODataEntityDeserializer>(null); var deserializer = new ODataCollectionDeserializer(deserializerProvider.Object); Assert.Throws <SerializationException>( () => deserializer.ReadCollectionValue(new ODataCollectionValue() { Items = new[] { 1, 2, 3 } }, _addressCollectionType.ElementType(), new ODataDeserializerContext()) .GetEnumerator() .MoveNext(), "'System.Web.OData.Formatter.Serialization.Models.Address' cannot be deserialized using the ODataMediaTypeFormatter."); }
public void ReadCollectionValue_Throws_IfElementTypeCannotBeDeserialized() { // Arrange Mock <ODataDeserializerProvider> deserializerProvider = new Mock <ODataDeserializerProvider>(); deserializerProvider.Setup(p => p.GetEdmTypeDeserializer(ColorType)).Returns <ODataResourceDeserializer>(null); var deserializer = new ODataCollectionDeserializer(deserializerProvider.Object); // Act & Assert Assert.Throws <SerializationException>( () => deserializer.ReadCollectionValue(new ODataCollectionValue() { Items = new[] { 1, 2, 3 }.Cast <object>() }, ColorCollectionType.ElementType(), new ODataDeserializerContext()) .GetEnumerator() .MoveNext(), "'NS.Color' cannot be deserialized using the ODataMediaTypeFormatter."); }