/** * @dataProvider poolProvider * @param PoolInterface $pool */ public function testGetItems(PoolInterface $pool) { $pool->clear(); // Prep some data $pool->getItem('test1')->set(1); $pool->getItem('test2')->set(2); $pool->getItem('test3')->set(3); // Check we have 3 cache hits /** @var ItemCollection $items */ $items = $pool->getItems(['test1', 'test2', 'test3']); $this->assertCount(3, $items); $index = 0; /** @var $item ItemInterface */ foreach ($items as $key => $item) { $index++; $this->assertTrue($item instanceof ItemInterface); $this->assertTrue($item->isHit()); $this->assertEquals('test' . $index, $key); $this->assertEquals($index, $item->get()); } $this->assertEquals(3, $index); $item = $items->getItem('test2'); $this->assertTrue($item instanceof ItemInterface); $this->assertEquals(2, $item->get()); $pool->clear(); $items = $pool->getItems(['test1', 'test2', 'test3']); $this->assertEquals(0, $items->count()); $item = $items->getItem('test2'); $this->assertNull($item); }