public void TestarSeAPaginacaoEstaSendoGeradaCorretamente() { //Arrange HtmlHelper html = null; Paginacao paginacao = new Paginacao { PaginaAtual = 2, ItensPorPagina = 10, ItensTotal = 28 }; Func<int, string> paginaUrl = i => "Pagina" + i; //Act MvcHtmlString resultado = html.PageLinks(paginacao, paginaUrl); //Assert Assert.AreEqual( @"<a class=""btn btn-default"" href=""Pagina1"">1</a>" + @"<a class=""btn btn-default btn-primary selected"" href=""Pagina2"">2</a>" + @"<a class=""btn btn-default"" href=""Pagina3"">3</a>", resultado.ToString() ); }
//total pagina 3 public static MvcHtmlString PageLinks(this HtmlHelper html, Paginacao paginacao, Func<int,string> paginaUrl) { StringBuilder resultado = new StringBuilder(); for (int i = 1; i <= paginacao.TotalPaginas; i++) { TagBuilder tag = new TagBuilder("a"); tag.MergeAttribute("href", paginaUrl(i)); tag.InnerHtml = i.ToString(); if(i == paginacao.PaginaAtual) { tag.AddCssClass("selected"); tag.AddCssClass("btn-primary"); } tag.AddCssClass("btn btn-default"); resultado.Append(tag); } return MvcHtmlString.Create(resultado.ToString()); }