public void ReadDeltaLink_Returns_DeltaLink(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); ODataDeltaLink link = new ODataDeltaLink(source, target, "Orders"); ODataDeltaLinkWrapper wrapper = new ODataDeltaLinkWrapper(link); 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.ReadDeltaLink(wrapper, elementType, context); // Assert if (typed) { DeltaLink <Customer> deltaLink = Assert.IsType <DeltaLink <Customer> >(deltaLinkObject); Assert.Equal(source, deltaLink.Source); Assert.Equal(target, deltaLink.Target); Assert.Equal("Orders", deltaLink.Relationship); } else { EdmDeltaLink deltaLink = Assert.IsType <EdmDeltaLink>(deltaLinkObject); Assert.Equal(source, deltaLink.Source); Assert.Equal(target, deltaLink.Target); Assert.Equal("Orders", deltaLink.Relationship); } }
public void CtorDeltaLinkOfT_Sets_PropertyValue() { // Arrange & Act DeltaLink <A> link = new DeltaLink <A>(typeof(B)) { Source = new Uri("http://source"), Target = new Uri("http://target"), Relationship = "any" }; // Assert Assert.Equal("http://source", link.Source.OriginalString); Assert.Equal("http://target", link.Target.OriginalString); Assert.Equal("any", link.Relationship); Assert.Equal(DeltaItemKind.DeltaLink, link.Kind); Assert.Equal(typeof(B), link.StructuredType); Assert.Equal(typeof(A), link.ExpectedClrType); }