public void ReadComplexValue_CanReadComplexValue() { // Arrange var deserializerProvider = new Mock <ODataDeserializerProvider>().Object; var deserializer = new ODataComplexTypeDeserializer(_addressEdmType, deserializerProvider); ODataComplexValue complexValue = new ODataComplexValue { Properties = new[] { new ODataProperty { Name = "Street", Value = "12" }, new ODataProperty { Name = "City", Value = "Redmond" } }, TypeName = "ODataDemo.Address" }; ODataDeserializerContext readContext = new ODataDeserializerContext() { Model = _edmModel }; // Act var address = deserializer.ReadComplexValue(complexValue, readContext) as ODataEntityDeserializerTests.Address; // Assert Assert.NotNull(address); Assert.Equal(address.Street, "12"); Assert.Equal(address.City, "Redmond"); Assert.Null(address.Country); Assert.Null(address.State); Assert.Null(address.ZipCode); }
public void ReadComplexValue_ThrowsArgumentNull_ReadContext() { ODataComplexTypeDeserializer deserializer = new ODataComplexTypeDeserializer(_addressEdmType, new DefaultODataDeserializerProvider()); Assert.ThrowsArgumentNull( () => deserializer.ReadComplexValue(new ODataComplexValue(), readContext: null), "readContext"); }
public void ReadComplexValue_ThrowsArgumentNull_ComplexValue() { ODataComplexTypeDeserializer deserializer = new ODataComplexTypeDeserializer(new DefaultODataDeserializerProvider()); Assert.ThrowsArgumentNull( () => deserializer.ReadComplexValue(complexValue: null, complexType: _addressEdmType, readContext: new ODataDeserializerContext()), "complexValue"); }
public void ReadComplexValue_ThrowsArgument_ModelMissingFromReadContext() { ODataComplexTypeDeserializer deserializer = new ODataComplexTypeDeserializer(_addressEdmType, new DefaultODataDeserializerProvider()); Assert.ThrowsArgument( () => deserializer.ReadComplexValue(new ODataComplexValue(), readContext: new ODataDeserializerContext()), "readContext", "The EDM model is missing on the read context. The model is required on the read context to deserialize the payload."); }
public void ReadComplexValue_ThrowsArgumentNull_ReadContext() { ODataComplexTypeDeserializer deserializer = new ODataComplexTypeDeserializer(new DefaultODataDeserializerProvider()); Assert.ThrowsArgumentNull( () => deserializer.ReadComplexValue(new ODataComplexValue(), _addressEdmType, readContext: null), "readContext"); }
public void ReadComplexValue_CanReadComplexValue() { // Arrange var deserializerProvider = new Mock<ODataDeserializerProvider>().Object; var deserializer = new ODataComplexTypeDeserializer(deserializerProvider); ODataComplexValue complexValue = new ODataComplexValue { Properties = new[] { new ODataProperty { Name = "Street", Value = "12"}, new ODataProperty { Name = "City", Value = "Redmond"} }, TypeName = "ODataDemo.Address" }; ODataDeserializerContext readContext = new ODataDeserializerContext() { Model = _edmModel }; // Act var address = deserializer.ReadComplexValue(complexValue, _addressEdmType, readContext) as ODataEntityDeserializerTests.Address; // Assert Assert.NotNull(address); Assert.Equal(address.Street, "12"); Assert.Equal(address.City, "Redmond"); Assert.Null(address.Country); Assert.Null(address.State); Assert.Null(address.ZipCode); }
public void ReadComplexValue_ThrowsArgument_ModelMissingFromReadContext() { ODataComplexTypeDeserializer deserializer = new ODataComplexTypeDeserializer(new DefaultODataDeserializerProvider()); Assert.ThrowsArgument( () => deserializer.ReadComplexValue(new ODataComplexValue(), _addressEdmType, readContext: new ODataDeserializerContext()), "readContext", "The EDM model is missing on the read context. The model is required on the read context to deserialize the payload."); }