コード例 #1
0
        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");
        }
コード例 #2
0
        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");
        }
コード例 #3
0
        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.");
        }
コード例 #4
0
        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.");
        }