public void Constructor_SetsProperties() { var orderedQueryable = new[] { 1, 3, 4, 2, -1 }.AsQueryable().OrderBy(i => i); var orderedSource = new OrderedSource <int>(orderedQueryable); Assert.AreSame(orderedQueryable, orderedSource.Queryable); }
private static IOrderedEnumerable <SObject> ApplySorting(IEnumerable <SObject> Source, SortingProperty Property, SortingOrder Direction) { if (Source is IOrderedEnumerable <SObject> OrderedSource) { if (Direction == SortingOrder.Ascending) { return(OrderedSource.ThenBy(x => GetSortValue(x, Property))); } else { return(OrderedSource.ThenByDescending(x => GetSortValue(x, Property))); } } else { if (Direction == SortingOrder.Ascending) { return(Source.OrderBy(x => GetSortValue(x, Property))); } else { return(Source.OrderByDescending(x => GetSortValue(x, Property))); } } }
public void Skip_SkipsItems() { var orderedQueryable = new[] { "1", "3", "6", "2", "8" }.AsQueryable().OrderBy(i => i); var orderedSource = new OrderedSource<string>(orderedQueryable); var expected = orderedQueryable.Skip(2).ToList(); var actual = orderedSource.Skip(2).ToList(); CollectionAssert.AreEquivalent(expected, actual); }
public void Queryable_IsOrderedQueryable() { var orderedQueryable = new[] { 1, 6, 7, 2, -5 }.AsQueryable().OrderBy(i => i); var orderedSource = new OrderedSource<int>(orderedQueryable); var source = (ISource<int>)orderedSource; Assert.AreSame(orderedQueryable, source.Queryable); Assert.AreSame(orderedSource.Queryable, source.Queryable); }
public void Skip_SkipsItems() { var orderedQueryable = new[] { "1", "3", "6", "2", "8" }.AsQueryable().OrderBy(i => i); var orderedSource = new OrderedSource <string>(orderedQueryable); var expected = orderedQueryable.Skip(2).ToList(); var actual = orderedSource.Skip(2).ToList(); CollectionAssert.AreEquivalent(expected, actual); }
public void Queryable_IsOrderedQueryable() { var orderedQueryable = new[] { 1, 6, 7, 2, -5 }.AsQueryable().OrderBy(i => i); var orderedSource = new OrderedSource <int>(orderedQueryable); var source = (ISource <int>)orderedSource; Assert.AreSame(orderedQueryable, source.Queryable); Assert.AreSame(orderedSource.Queryable, source.Queryable); }
public void ThenBy_ThenBysItems() { var items = Enumerable.Range(0, 10).Select(i => Tuple.Create(i % 2, i)); var orderedQueryable = items.AsQueryable().OrderBy(i => i.Item1); var orderedSource = new OrderedSource<Tuple<int, int>>(orderedQueryable); var expected = orderedQueryable.ThenBy(i => i.Item2).ToList(); var actual = orderedSource.ThenBy(i => i.Item2).ToList(); CollectionAssert.AreEquivalent(expected, actual); }
public void ThenByDescending_ThenByDescendingsItems() { var items = Enumerable.Range(0, 10).Select(i => Tuple.Create(i % 2, i)); var orderedQueryable = items.AsQueryable().OrderBy(i => i.Item1); var orderedSource = new OrderedSource <Tuple <int, int> >(orderedQueryable); var expected = orderedQueryable.ThenByDescending(i => i.Item2).ToList(); var actual = orderedSource.ThenByDescending(i => i.Item2).ToList(); CollectionAssert.AreEquivalent(expected, actual); }
public void Source_IsOrderedSource() { var orderedSource = new OrderedSource<string>(new[] { "hello", "world" }.AsQueryable().OrderBy(s => s)); var orderedPageSource = new OrderedPageSourceModel<string, PageRequestModel>(5, 1, orderedSource, new PageRequestModel()); var pageSource = (IPageSourceModel<string>)orderedPageSource; Assert.AreSame(orderedSource, pageSource.Source); Assert.AreSame(orderedPageSource.Source, pageSource.Source); var iorderedPageSource = (IOrderedPageSourceModel<string>)orderedPageSource; Assert.AreSame(orderedPageSource.Source, iorderedPageSource.Source); }
public void Source_IsOrderedSource() { var orderedSource = new OrderedSource <string>(new[] { "hello", "world" }.AsQueryable().OrderBy(s => s)); var orderedPageSource = new OrderedPageSourceModel <string, PageRequestModel>(5, 1, orderedSource, new PageRequestModel()); var pageSource = (IPageSourceModel <string>)orderedPageSource; Assert.AreSame(orderedSource, pageSource.Source); Assert.AreSame(orderedPageSource.Source, pageSource.Source); var iorderedPageSource = (IOrderedPageSourceModel <string>)orderedPageSource; Assert.AreSame(orderedPageSource.Source, iorderedPageSource.Source); }
public void OrderBy_ReturnsOrderedSource() { var source = new Mock<IOrderedSource<string>>(MockBehavior.Strict); Expression<Func<string, int>> keySelector = s => s.Length; var orderedSource = new OrderedSource<string>(new List<string>().AsQueryable().OrderBy(keySelector)); var m1 = new PageSourceModel<string, PageRequestModel>(3, 4, source.Object, new PageRequestModel()); source.Setup(s => s.OrderBy(keySelector)).Returns(orderedSource).Verifiable("The source was not ordered by the key selector."); var m2 = m1.OrderBy(keySelector); source.Verify(); Assert.AreEqual(m1.GetMaxItemsPerPage(), m2.GetMaxItemsPerPage()); Assert.AreEqual(m1.GetDefaultItemsPerPage(), m2.GetDefaultItemsPerPage()); Assert.AreSame(m1.Request, m2.Request); Assert.AreSame(orderedSource, m2.Source); }
public void OrderByDescending_ReturnsOrderedByDescendingSource() { var source = new Mock <IOrderedSource <string> >(MockBehavior.Strict); Expression <Func <string, int> > keySelector = s => s.Length; var orderedSource = new OrderedSource <string>(new List <string>().AsQueryable().OrderByDescending(keySelector)); var m1 = new PageSourceModel <string, PageRequestModel>(3, 4, source.Object, new PageRequestModel()); source.Setup(s => s.OrderByDescending(keySelector)).Returns(orderedSource).Verifiable("The source was not ordered by descending by the key selector."); var m2 = m1.OrderByDescending(keySelector); source.Verify(); Assert.AreEqual(m1.GetMaxItemsPerPage(), m2.GetMaxItemsPerPage()); Assert.AreEqual(m1.GetDefaultItemsPerPage(), m2.GetDefaultItemsPerPage()); Assert.AreSame(m1.Request, m2.Request); Assert.AreSame(orderedSource, m2.Source); }
public void MaxItemsPerPage_ReturnsOrderedPageSource() { var orderedSource = new OrderedSource<string>(new[] { "hello", "world" }.AsQueryable().OrderBy(s => s)); var orderedPageSource = new OrderedPageSourceModel<string, PageRequestModel>(5, 1, orderedSource, new PageRequestModel()); var newPageSource = orderedPageSource.MaxItemsPerPage(43); Assert.AreSame(orderedPageSource.Source, newPageSource.Source); Assert.AreSame(orderedPageSource.Request, newPageSource.Request); Assert.AreEqual(orderedPageSource.GetDefaultItemsPerPage(), newPageSource.GetDefaultItemsPerPage()); Assert.AreEqual(43, newPageSource.GetMaxItemsPerPage()); Assert.IsInstanceOf(typeof(OrderedPageSourceModel<string, PageRequestModel>), newPageSource); var newNewPageSource = ((IOrderedPageSourceModel<string, PageRequestModel>)orderedPageSource).MaxItemsPerPage(52); Assert.AreSame(orderedPageSource.Source, newNewPageSource.Source); Assert.AreSame(orderedPageSource.Request, newNewPageSource.Request); Assert.AreEqual(orderedPageSource.GetDefaultItemsPerPage(), newNewPageSource.GetDefaultItemsPerPage()); Assert.AreEqual(52, newNewPageSource.GetMaxItemsPerPage()); Assert.IsInstanceOf(typeof(OrderedPageSourceModel<string, PageRequestModel>), newNewPageSource); }
public void DefaultItemsPerPage_ReturnsOrderedSource() { var orderedSource = new OrderedSource <string>(new[] { "hello", "world" }.AsQueryable().OrderBy(s => s)); var orderedPageSource = new OrderedPageSourceModel <string, PageRequestModel>(5, 1, orderedSource, new PageRequestModel()); var newPageSource = orderedPageSource.DefaultItemsPerPage(18); Assert.AreSame(orderedPageSource.Source, newPageSource.Source); Assert.AreSame(orderedPageSource.Request, newPageSource.Request); Assert.AreEqual(orderedPageSource.GetMaxItemsPerPage(), newPageSource.GetMaxItemsPerPage()); Assert.AreEqual(18, newPageSource.GetDefaultItemsPerPage()); Assert.IsInstanceOf(typeof(OrderedPageSourceModel <string, PageRequestModel>), newPageSource); var newNewPageSource = ((IOrderedPageSourceModel <string, PageRequestModel>)orderedPageSource).DefaultItemsPerPage(36); Assert.AreSame(orderedPageSource.Source, newNewPageSource.Source); Assert.AreSame(orderedPageSource.Request, newNewPageSource.Request); Assert.AreEqual(orderedPageSource.GetMaxItemsPerPage(), newNewPageSource.GetMaxItemsPerPage()); Assert.AreEqual(36, newNewPageSource.GetDefaultItemsPerPage()); Assert.IsInstanceOf(typeof(OrderedPageSourceModel <string, PageRequestModel>), newNewPageSource); }
public void Constructor_SetsProperties() { var orderedQueryable = new[] { 1, 3, 4, 2, -1 }.AsQueryable().OrderBy(i => i); var orderedSource = new OrderedSource<int>(orderedQueryable); Assert.AreSame(orderedQueryable, orderedSource.Queryable); }