public void CreateCollection_From_OrderByNode_Succeeds() { // Arrange ODataConventionModelBuilder builder = new ODataConventionModelBuilder(); builder.EntitySet <SampleClass>("entityset"); IEdmModel model = builder.GetEdmModel(); IEdmEntityType sampleClassEntityType = model.SchemaElements.Single(t => t.Name == "SampleClass") as IEdmEntityType; OrderByClause orderbyNode = ODataUriParser.ParseOrderBy("Property1 desc, Property2 asc", model, sampleClassEntityType); // Act ICollection <OrderByNode> nodes = OrderByNode.CreateCollection(orderbyNode); // Assert Assert.False(nodes.OfType <OrderByItNode>().Any()); IEnumerable <OrderByPropertyNode> propertyNodes = nodes.OfType <OrderByPropertyNode>(); Assert.Equal(2, propertyNodes.Count()); Assert.Equal("Property1", propertyNodes.First().Property.Name); Assert.Equal(OrderByDirection.Descending, propertyNodes.First().Direction); Assert.ReferenceEquals("Property2", propertyNodes.Last().Property.Name); Assert.Equal(OrderByDirection.Ascending, nodes.Last().Direction); }
public void CreateCollection_CopmplexType_Succeeds() { // Arrange CustomersModelWithInheritance model = new CustomersModelWithInheritance(); OrderByClause orderByNode = ODataUriParser.ParseOrderBy("Street desc, City asc", model.Model, model.Address); // Act ICollection <OrderByNode> nodes = OrderByNode.CreateCollection(orderByNode); // Assert Assert.Equal(2, nodes.Count()); Assert.Equal("Street", (nodes.ToList()[0] as OrderByPropertyNode).Property.Name); Assert.Equal(OrderByDirection.Descending, nodes.ToList()[0].Direction); Assert.Equal("City", (nodes.ToList()[1] as OrderByPropertyNode).Property.Name); Assert.Equal(OrderByDirection.Ascending, nodes.ToList()[1].Direction); }