public void ReadDeltaDeletedLink_ThrowsArgumentNull_ForInputParameters() { // Arrange & Act & Assert Mock <IODataDeserializerProvider> deserializerProvider = new Mock <IODataDeserializerProvider>(); ODataDeltaResourceSetDeserializer deserializer = new ODataDeltaResourceSetDeserializer(deserializerProvider.Object); ExceptionAssert.ThrowsArgumentNull(() => deserializer.ReadDeltaDeletedLink(null, null, null), "deletedLink"); // Arrange & Act & Assert ODataDeltaDeletedLinkWrapper wrapper = new ODataDeltaDeletedLinkWrapper( new ODataDeltaDeletedLink(new Uri("http://localhost"), new Uri("http://localhost"), "delete")); ExceptionAssert.ThrowsArgumentNull(() => deserializer.ReadDeltaDeletedLink(wrapper, null, null), "readContext"); }
public void ReadDeltaDeletedLink_Returns_DeletedDeltaLink(bool typed) { // Arrange Mock <IODataDeserializerProvider> deserializerProvider = new Mock <IODataDeserializerProvider>(); ODataDeltaResourceSetDeserializer deserializer = new ODataDeltaResourceSetDeserializer(deserializerProvider.Object); Uri source = new Uri("Customers(8)", UriKind.RelativeOrAbsolute); Uri target = new Uri("Orders(10645)", UriKind.RelativeOrAbsolute); ODataDeltaDeletedLink deletedLink = new ODataDeltaDeletedLink(source, target, "Orders"); ODataDeltaDeletedLinkWrapper wrapper = new ODataDeltaDeletedLinkWrapper(deletedLink); IEdmModel model = GetEdmModel(); IEdmEntityType customer = model.SchemaElements.OfType <IEdmEntityType>().First(c => c.Name == "Customer"); IEdmStructuredTypeReference elementType = new EdmEntityTypeReference(customer, true); ODataDeserializerContext context = new ODataDeserializerContext { Model = model, ResourceType = typeof(DeltaSet <>) }; if (typed) { context.ResourceType = typeof(DeltaSet <>); } else { context.ResourceType = typeof(EdmChangedObjectCollection); } // Act object deltaLinkObject = deserializer.ReadDeltaDeletedLink(wrapper, elementType, context); // Assert if (typed) { DeltaDeletedLink <Customer> deltaDeletedLink = Assert.IsType <DeltaDeletedLink <Customer> >(deltaLinkObject); Assert.Equal(source, deltaDeletedLink.Source); Assert.Equal(target, deltaDeletedLink.Target); Assert.Equal("Orders", deltaDeletedLink.Relationship); } else { EdmDeltaDeletedLink deltaDeletedLink = Assert.IsType <EdmDeltaDeletedLink>(deltaLinkObject); Assert.Equal(source, deltaDeletedLink.Source); Assert.Equal(target, deltaDeletedLink.Target); Assert.Equal("Orders", deltaDeletedLink.Relationship); } }