public void ShouldGenerateHtmlForSinglePage()
        {
            // arrange
            List<PageLink> pageLinks = new List<PageLink> { new PageLink { Index = 0, IsFirst = true, IsLast = true, IsSelected = true } };
            FirstPrevNextLastPageLinkHtmlGenerator gen = new FirstPrevNextLastPageLinkHtmlGenerator();

            // act
            string html = gen.ToHtml(pageLinks, 1, 0, 3, GenerateUrl);

            // assert
            Assert.AreEqual(@"<span class=""disabled first"">&#171; First</span><span class=""disabled prev"">&#8249; Prev</span><span class=""selected"">1</span><span class=""disabled next"">Next &#8250;</span><span class=""disabled last"">Last &#187;</span>", html);
        }
        private string GetHtml(int pageIndex, int pageStartIndex, int pageEndIndex)
        {
            // page 0: 0, 1
            // page 1: 2, 3
            // page 2: 4, 5
            // page 3: 6, 7
            // page 4: 8, 9

            // arrange
            List<PageLink> pageLinks = new List<PageLink>();

            for (int i = pageStartIndex; i <= pageEndIndex; i++)
            {
                pageLinks.Add(new PageLink { Index = i, IsFirst = (i == 0), IsLast = (i == 4), IsSelected = (i == pageIndex) });
            };

            FirstPrevNextLastPageLinkHtmlGenerator gen = new FirstPrevNextLastPageLinkHtmlGenerator();

            // act
            return gen.ToHtml(pageLinks, 5, pageIndex, 3, GenerateUrl);
        }