public function testExecuteCache()
 {
     $em = new EntityManager();
     $connection = $em->getConnection();
     $executor = new DbCacheableExecutor($em, new Cache(), new CacheHitsContainer());
     $executor->execute($this->query);
     $executed = $connection->getLastExecuted();
     $this->assertEquals(self::QUERY_PARSED, $executed['query']);
     $this->assertEquals($this->query->getParameters(), $executed['params']);
     $fetched = $executor->fetch($this->query);
     $this->assertEquals(self::QUERY_PARSED, $fetched['query']);
     $this->assertEquals($this->query->getParameters(), $fetched['params']);
 }
 public function testExecute()
 {
     $cacheHitsContainer = new CacheHitsContainer();
     $em = new EntityManager();
     $connection = $em->getConnection();
     $executor = ExecutorFactory::build($em, false, null, $cacheHitsContainer);
     $this->assertTrue($executor instanceof DbExecutor);
     $cache = new Cache();
     $executor = ExecutorFactory::build($em, true, $cache, $cacheHitsContainer);
     $this->assertTrue($executor instanceof DbExecutor);
     $cache->up();
     $executor = ExecutorFactory::build($em, true, $cache, $cacheHitsContainer);
     $this->assertTrue($executor instanceof DbCacheableExecutor);
     $executor = ExecutorFactory::build($em, false, $cache, $cacheHitsContainer);
     $this->assertTrue($executor instanceof DbExecutor);
     $cache->setUpException();
     $executor = ExecutorFactory::build($em, true, $cache, $cacheHitsContainer);
     $this->assertTrue($executor instanceof DbExecutor);
 }