public void ReadCollectionValue_ThrowsArgumentNull_CollectionValue()
        {
            var deserializer = new ODataCollectionDeserializer(_intCollectionType, new DefaultODataDeserializerProvider());

            Assert.ThrowsArgumentNull(
                () => deserializer.ReadCollectionValue(collectionValue: null, 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(_addressCollectionType, deserializerProvider.Object);

            Assert.Throws <SerializationException>(
                () => deserializer.ReadCollectionValue(new ODataCollectionValue()
            {
                Items = new[] { 1, 2, 3 }
            }, new ODataDeserializerContext())
                .GetEnumerator()
                .MoveNext(),
                "'System.Web.Http.OData.Formatter.Serialization.Models.Address' cannot be deserialized using the ODataMediaTypeFormatter.");
        }