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); }
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); }
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"); }
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); }
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); }
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); }
/// <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); }
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); } }