/** * test access to collection using pages * * @param Collection $collection * @param array $data * @dataProvider exampleCollectionObject * @requires exampleCollection */ public function testPageAccessForCollection($collection, array $data) { $collection->setPageSize(2); $this->assertEquals(2, count($collection->getFirstPage())); $this->assertEquals(1, count($collection->getLastPage())); $this->assertEquals([$data[0], $data[1]], $collection->getFirstPage()); $this->assertEquals([$data[8]], $collection->getLastPage()); $this->assertEquals([$data[2], $data[3]], $collection->getPage(2)); $this->assertNull($collection->getPage(10)); $this->assertEquals(1, $collection->getCurrentPage()); $collection->nextPage(); $this->assertEquals(2, $collection->getCurrentPage()); $this->assertEquals([$data[4], $data[5]], $collection->getNextPage()); $this->assertEquals([$data[0], $data[1]], $collection->getPreviousPage()); }