public function testCacheDoesNotDisturbResultsWhenChangingParam() { $this->_paginator->setCurrentPageNumber(1)->getCurrentItems(); $pageItems = $this->_paginator->setItemCountPerPage(5)->getCurrentItems(); $expected = new \ArrayIterator(range(1, 5)); $this->assertEquals($expected, $pageItems); $pageItems = $this->_paginator->getItemsByPage(2); $expected = new \ArrayIterator(range(6, 10)); $this->assertEquals($expected, $pageItems); // change the inside Paginator scale $pageItems = $this->_paginator->setItemCountPerPage(8)->setCurrentPageNumber(3)->getCurrentItems(); $pageItems = $this->_paginator->getPageItemCache(); $expected = array(3 => new \ArrayIterator(range(17, 24))); $this->assertEquals($expected, $pageItems); // get back to already cached data $this->_paginator->setItemCountPerPage(5); $pageItems = $this->_paginator->getPageItemCache(); $expected =array(1 => new \ArrayIterator(range(1, 5)), 2 => new \ArrayIterator(range(6, 10))); $this->assertEquals($expected, $pageItems); }