public function testUsesCache() { $id = 'foreignKeyNode'; $event = $this->getMockBuilder('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface')->getMock(); $cache = $this->getMockBuilder('Faker\\Components\\Engine\\Common\\GeneratorCache')->disableOriginalConstructor()->getMock(); $cache->expects($this->once())->method('rewind'); $cache->expects($this->once())->method('current')->will($this->returnValue(5)); $cache->expects($this->once())->method('next'); $foreignKey = new ForeignKeyNode($id, $event); $foreignKey->setResultCache($cache); $values = array(); $this->assertEquals(5, $foreignKey->generate(1, $values)); $foreignKey->setUseCache(false); $this->assertEquals(null, $foreignKey->generate(1, $values)); }