Esempio n. 1
0
        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);
 }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
 }
Esempio n. 8
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 12
0
        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);
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
 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);
 }