public function testFilter_pages_pagesFilteredFromBothEnds() { $pagesToBeFilteredFromEachSide = 1; $pagesToBeFiltered = $pagesToBeFilteredFromEachSide * 2; $minPagesWithBothEllipses = 2 * ($this->extremityBuffer + $this->proximityBuffer + $pagesToBeFilteredFromEachSide) + 1; $testPages = SELF::getTestPages($minPagesWithBothEllipses); $testPage = ceil($minPagesWithBothEllipses / 2); $result = $this->pagination->filter($testPages, $testPage); $this->assertEquals(count($testPages) - $pagesToBeFiltered, count($result["pages"]), "{$pagesToBeFiltered} pages should have been filtered out"); $indexOfFirstFilteredPage = $this->extremityBuffer; $pageThatWasFiltered = $testPages[$indexOfFirstFilteredPage]; $this->assertFalse(array_search($pageThatWasFiltered, $result["pages"]), sprintf("%s should have been filtered out of [%s]", $pageThatWasFiltered, implode($result["pages"]))); $indexOfLastFilteredPage = $minPagesWithBothEllipses - $this->extremityBuffer - 1; $pageThatWasFiltered = $testPages[$indexOfLastFilteredPage]; $this->assertFalse(array_search($pageThatWasFiltered, $result["pages"]), sprintf("%s should have been filtered out of [%s]", $pageThatWasFiltered, implode($result["pages"]))); }