/** * Test getNearPagesIterator. * @covers Rentalhost\VanillaPagination\Pagination::getNearPagesIterator */ public function testGetNearPagesIterator() { $pagination = new Pagination(0, 20); static::assertSame([], $pagination->getNearPagesIterator(5)->getArrayCopy()); $pagination = new Pagination(1, 20); static::assertSame([1], $pagination->getNearPagesIterator(3)->getArrayCopy()); $pagination = new Pagination(50, 20); $pagination->setCurrentPage(1); static::assertSame([1, 2, 3], $pagination->getNearPagesIterator(3)->getArrayCopy()); $pagination->setCurrentPage(2); static::assertSame([1, 2, 3], $pagination->getNearPagesIterator(3)->getArrayCopy()); $pagination->setCurrentPage(3); static::assertSame([1, 2, 3], $pagination->getNearPagesIterator(3)->getArrayCopy()); $pagination = new Pagination(60, 20); $pagination->setCurrentPage(1); static::assertSame([1, 2, 3], $pagination->getNearPagesIterator(4)->getArrayCopy()); $pagination->setCurrentPage(2); static::assertSame([1, 2, 3], $pagination->getNearPagesIterator(4)->getArrayCopy()); $pagination->setCurrentPage(3); static::assertSame([1, 2, 3], $pagination->getNearPagesIterator(4)->getArrayCopy()); $pagination = new Pagination(200, 20); $pagination->setCurrentPage(1); static::assertSame([1, 2, 3, 4, 5, 6, 7], $pagination->getNearPagesIterator(7)->getArrayCopy()); $pagination->setCurrentPage(2); static::assertSame([1, 2, 3, 4, 5, 6, 7], $pagination->getNearPagesIterator(7)->getArrayCopy()); $pagination->setCurrentPage(3); static::assertSame([1, 2, 3, 4, 5, 6, 7], $pagination->getNearPagesIterator(7)->getArrayCopy()); $pagination->setCurrentPage(4); static::assertSame([1, 2, 3, 4, 5, 6, 7], $pagination->getNearPagesIterator(7)->getArrayCopy()); $pagination->setCurrentPage(5); static::assertSame([2, 3, 4, 5, 6, 7, 8], $pagination->getNearPagesIterator(7)->getArrayCopy()); $pagination->setCurrentPage(6); static::assertSame([3, 4, 5, 6, 7, 8, 9], $pagination->getNearPagesIterator(7)->getArrayCopy()); $pagination->setCurrentPage(7); static::assertSame([4, 5, 6, 7, 8, 9, 10], $pagination->getNearPagesIterator(7)->getArrayCopy()); $pagination->setCurrentPage(8); static::assertSame([4, 5, 6, 7, 8, 9, 10], $pagination->getNearPagesIterator(7)->getArrayCopy()); $pagination->setCurrentPage(9); static::assertSame([4, 5, 6, 7, 8, 9, 10], $pagination->getNearPagesIterator(7)->getArrayCopy()); $pagination->setCurrentPage(10); static::assertSame([4, 5, 6, 7, 8, 9, 10], $pagination->getNearPagesIterator(7)->getArrayCopy()); $pagination->setCurrentPage(1); static::assertSame([1, 2, 3, 4, 5, 6, 7, 8], $pagination->getNearPagesIterator(8)->getArrayCopy()); $pagination->setCurrentPage(2); static::assertSame([1, 2, 3, 4, 5, 6, 7, 8], $pagination->getNearPagesIterator(8)->getArrayCopy()); $pagination->setCurrentPage(3); static::assertSame([1, 2, 3, 4, 5, 6, 7, 8], $pagination->getNearPagesIterator(8)->getArrayCopy()); $pagination->setCurrentPage(4); static::assertSame([1, 2, 3, 4, 5, 6, 7, 8], $pagination->getNearPagesIterator(8)->getArrayCopy()); $pagination->setCurrentPage(5); static::assertSame([2, 3, 4, 5, 6, 7, 8, 9], $pagination->getNearPagesIterator(8)->getArrayCopy()); $pagination->setCurrentPage(6); static::assertSame([3, 4, 5, 6, 7, 8, 9, 10], $pagination->getNearPagesIterator(8)->getArrayCopy()); $pagination->setCurrentPage(7); static::assertSame([3, 4, 5, 6, 7, 8, 9, 10], $pagination->getNearPagesIterator(8)->getArrayCopy()); $pagination->setCurrentPage(8); static::assertSame([3, 4, 5, 6, 7, 8, 9, 10], $pagination->getNearPagesIterator(8)->getArrayCopy()); $pagination->setCurrentPage(9); static::assertSame([3, 4, 5, 6, 7, 8, 9, 10], $pagination->getNearPagesIterator(8)->getArrayCopy()); $pagination->setCurrentPage(10); static::assertSame([3, 4, 5, 6, 7, 8, 9, 10], $pagination->getNearPagesIterator(8)->getArrayCopy()); }