public function testResultCacheLifeSpan()
 {
     // initially NULL = not cached
     $q = new Doctrine_Query();
     $this->assertIdentical(null, $q->getResultCacheLifeSpan());
     $q->free();
     // 0 = cache forever
     $this->manager->setAttribute(Doctrine_Core::ATTR_RESULT_CACHE_LIFESPAN, 0);
     $q = new Doctrine_Query();
     $this->assertIdentical(0, $q->getResultCacheLifeSpan());
     $q->free();
     $this->manager->setAttribute(Doctrine_Core::ATTR_RESULT_CACHE_LIFESPAN, 3600);
     $q = new Doctrine_Query();
     $this->assertIdentical(3600, $q->getResultCacheLifeSpan());
     $q->free();
     // test that value set on connection level has precedence
     $this->conn->setAttribute(Doctrine_Core::ATTR_RESULT_CACHE_LIFESPAN, 42);
     $q = new Doctrine_Query();
     $this->assertIdentical(42, $q->getResultCacheLifeSpan());
     $q->free();
     // test that value set on the query has highest precedence
     $q = new Doctrine_Query();
     $q->useResultCache(true, 1234);
     $this->assertIdentical(1234, $q->getResultCacheLifeSpan());
     $q->setResultCacheLifeSPan(4321);
     $this->assertIdentical(4321, $q->getResultCacheLifeSpan());
     $q->free();
 }