public function testQueryCacheLifeSpan()
 {
     // initially NULL = not cached
     $q = new Doctrine_Query();
     $this->assertIdentical(null, $q->getQueryCacheLifeSpan());
     $q->free();
     // 0 = forever
     $this->manager->setAttribute(Doctrine_Core::ATTR_QUERY_CACHE_LIFESPAN, 0);
     $q = new Doctrine_Query();
     $this->assertIdentical(0, $q->getQueryCacheLifeSpan());
     $q->free();
     $this->manager->setAttribute(Doctrine_Core::ATTR_QUERY_CACHE_LIFESPAN, 3600);
     $q = new Doctrine_Query();
     $this->assertIdentical(3600, $q->getQueryCacheLifeSpan());
     $q->free();
     // test that value set on connection level has precedence
     $this->conn->setAttribute(Doctrine_Core::ATTR_QUERY_CACHE_LIFESPAN, 42);
     $q = new Doctrine_Query();
     $this->assertIdentical(42, $q->getQueryCacheLifeSpan());
     $q->free();
     // test that value set on the query has highest precedence
     $q = new Doctrine_Query();
     $q->setQueryCacheLifeSpan(4321);
     $this->assertIdentical(4321, $q->getQueryCacheLifeSpan());
     $q->free();
 }