public void UrlNavigator_Construct_NavigatorSizeBiggerThenPageCount()
        {
            // arrange / act
            UrlNavigator nav = UrlNavigatorBuilder.Build(url, 4, 8, 10);

            // assert
            Assert.Equal(10, nav.NavigatorSize);
            Assert.Equal(8, nav.Numerics.Count);
        }
Beispiel #2
0
        public void UrlNavigator_Construct_NavigatorSizeBiggerThenPageCount()
        {
            // cria navegador de url
            UrlNavigator nav = new UrlNavigator(url, 4, 8, 10);

            // Verifica se navigatorsize ainda é 10
            Assert.AreEqual(nav.navigatorSize, 10);
            // Verifica se numericpages recebeu apenas 8 itens
            Assert.AreEqual(nav.numerics.Count, 8);
        }
        public void UrlNavigator_Construct_LastPage()
        {
            // arrange / act
            UrlNavigator nav  = UrlNavigatorBuilder.Build(url, 4, 10, null);
            PageLink     page = nav.Last;

            // assert
            Assert.Equal(10, page.Number);
            Assert.Equal(page.Url, url + "?pageNumber=10");
        }
        public void UrlNavigator_Construct_PreviousPage()
        {
            // arrange / act
            UrlNavigator nav  = UrlNavigatorBuilder.Build(url, 4, 10, null);
            PageLink     page = nav.Previous;

            // assert
            Assert.Equal(3, page.Number);
            Assert.Equal(page.Url, url + "?pageNumber=3");
        }
        public void UrlNavigator_Construct_NumericPages()
        {
            // arrange / act
            UrlNavigator    nav      = UrlNavigatorBuilder.Build(url, 37, 300, 10);
            List <PageLink> numPages = nav.Numerics;

            // assert
            Assert.Equal(10, nav.NavigatorSize);
            Assert.Equal(10, nav.Numerics.Count);
            Assert.Equal(42, numPages[9].Number);
        }
Beispiel #6
0
        public void UrlNavigator_Construct_LastPage()
        {
            // cria navegador de url
            UrlNavigator nav = new UrlNavigator(url, 4, 10, null);

            // Obtem a página
            PageLink page = nav.last;

            // Verifica se está na página 10, nao é atual e a url
            Assert.AreEqual(page.number, 10);
            Assert.AreEqual(page.url, url + "?pageNumber=10");
        }
Beispiel #7
0
        public void UrlNavigator_Construct_InvalidNavigatorSize()
        {
            // cria navegadores de url
            UrlNavigator nav1 = new UrlNavigator(url, 4, 10, null);
            UrlNavigator nav2 = new UrlNavigator(url, 4, 10, 0);
            UrlNavigator nav3 = new UrlNavigator(url, 4, 10, -2);

            // Verifica se navigatorsize não foi definido e se não foi gerado numericPages
            Assert.IsNull(nav1.navigatorSize);
            Assert.IsNull(nav1.numerics);
            Assert.IsNull(nav2.navigatorSize);
            Assert.IsNull(nav2.numerics);
            Assert.IsNull(nav3.navigatorSize);
            Assert.IsNull(nav3.numerics);
        }
Beispiel #8
0
        public void UrlNavigator_Construct_NumericPages()
        {
            // cria navegador de url
            UrlNavigator nav = new UrlNavigator(url, 37, 300, 10);

            // obtem numericpages
            List <PageLink> numPages = (List <PageLink>)nav.numerics;

            // Verifica se navigatorsize é 10
            Assert.AreEqual(nav.navigatorSize, 10);
            // Verifica se numericpages recebeu apenas 10 itens
            Assert.AreEqual(nav.numerics.Count, 10);
            // Verifica se populou corretamente
            Assert.AreEqual(numPages[9].number, 42);
        }
        public void UrlNavigator_Construct_InvalidNavigatorSize()
        {
            // arrange / act
            UrlNavigator nav1 = UrlNavigatorBuilder.Build(url, 4, 10, null);
            UrlNavigator nav2 = UrlNavigatorBuilder.Build(url, 4, 10, 0);
            UrlNavigator nav3 = UrlNavigatorBuilder.Build(url, 4, 10, -2);

            // assert
            Assert.Null(nav1.NavigatorSize);
            Assert.Null(nav1.Numerics);
            Assert.Null(nav2.NavigatorSize);
            Assert.Null(nav2.Numerics);
            Assert.Null(nav3.NavigatorSize);
            Assert.Null(nav3.Numerics);
        }
Beispiel #10
0
        public static UrlNavigator Build(string url, int pageNumber, int pageCount, int?navigatorSize)
        {
            if (navigatorSize != null && navigatorSize < 1)
            {
                navigatorSize = null;
            }

            var urlNavigator = new UrlNavigator()
            {
                Numerics      = UrlNavigatorBuilder.GenerateNumericNavigation(navigatorSize, pageCount, pageNumber, url),
                NavigatorSize = navigatorSize
            };

            UrlNavigatorBuilder.GenerateBasicNavigation(urlNavigator, pageCount, pageNumber, url);

            return(urlNavigator);
        }
Beispiel #11
0
        /// <summary>
        /// Construtor da lista paginada, responsável por montar toda lista e entregar objeto pronto para o uso.
        /// </summary>
        /// <param name="OriginUrl">URL completa de Origem</param>
        /// <param name="ItemCount">Total de Itens em todas as Páginas</param>
        /// <param name="PageNumber">Página Corrente</param>
        /// <param name="PageSize">Tamanho máximo de itens por página</param>
        /// <param name="NavigatorSize">Tamanho máximo para exibição da navegação numérica, se não informado, não gera essa navegação</param>
        public PagedList(
            string OriginUrl,
            long ItemCount,
            int PageNumber    = PageOptions.PAGE_NUMBER_DEFAULT,
            int PageSize      = PageOptions.PAGE_SIZE_DEFAULT,
            int?NavigatorSize = null
            )
        {
            // Inicializa opções de página
            options = new PageOptions(ItemCount, PageNumber, PageSize);

            // Recupera URL Base para paginar
            OriginUrl = GetUrlBaseToPaging(OriginUrl, PageSize);

            // Inicializa Navegador de URL
            navigator = new UrlNavigator(OriginUrl, options.pageNumber, options.pageCount, NavigatorSize);
        }
Beispiel #12
0
        private static void GenerateBasicNavigation(UrlNavigator urlNavigator, int pageCount, int pageNumber, string url)
        {
            if (pageNumber > 1)
            {
                urlNavigator.First = PageLinkBuilder.Build(url, 1);

                int previousNumber = pageNumber - 1;
                urlNavigator.Previous = PageLinkBuilder.Build(url, previousNumber);
            }

            if (pageNumber != pageCount && pageCount != 0)
            {
                int nextNumber = pageNumber + 1;
                urlNavigator.Next = PageLinkBuilder.Build(url, nextNumber);

                urlNavigator.Last = PageLinkBuilder.Build(url, pageCount);
            }
        }