3 namespace Doctrine\Tests\Common\Cache;
5 use Doctrine\Common\Cache\Cache;
7 abstract class CacheTest extends \Doctrine\Tests\DoctrineTestCase
9 public function testBasics()
11 $cache = $this->_getCacheDriver();
14 $cache->save('test_key', 'testing this out');
16 // Test contains to test that save() worked
17 $this->assertTrue($cache->contains('test_key'));
20 $this->assertEquals('testing this out', $cache->fetch('test_key'));
23 $cache->save('test_key2', 'test2');
24 $cache->delete('test_key2');
25 $this->assertFalse($cache->contains('test_key2'));
28 public function testObjects()
30 $cache = $this->_getCacheDriver();
32 // Fetch/save test with objects (Is cache driver serializes/unserializes objects correctly ?)
33 $cache->save('test_object_key', new \ArrayObject());
34 $this->assertTrue($cache->fetch('test_object_key') instanceof \ArrayObject);
37 public function testDeleteAll()
39 $cache = $this->_getCacheDriver();
40 $cache->save('test_key1', '1');
41 $cache->save('test_key2', '2');
44 $this->assertFalse($cache->contains('test_key1'));
45 $this->assertFalse($cache->contains('test_key2'));
48 public function testFlushAll()
50 $cache = $this->_getCacheDriver();
51 $cache->save('test_key1', '1');
52 $cache->save('test_key2', '2');
55 $this->assertFalse($cache->contains('test_key1'));
56 $this->assertFalse($cache->contains('test_key2'));
59 public function testNamespace()
61 $cache = $this->_getCacheDriver();
62 $cache->setNamespace('test_');
63 $cache->save('key1', 'test');
65 $this->assertTrue($cache->contains('key1'));
67 $cache->setNamespace('test2_');
69 $this->assertFalse($cache->contains('key1'));
75 public function testGetStats()
77 $cache = $this->_getCacheDriver();
78 $stats = $cache->getStats();
80 $this->assertArrayHasKey(Cache::STATS_HITS, $stats);
81 $this->assertArrayHasKey(Cache::STATS_MISSES, $stats);
82 $this->assertArrayHasKey(Cache::STATS_UPTIME, $stats);
83 $this->assertArrayHasKey(Cache::STATS_MEMORY_USAGE, $stats);
84 $this->assertArrayHasKey(Cache::STATS_MEMORY_AVAILIABLE, $stats);
88 * @return \Doctrine\Common\Cache\CacheProvider
90 abstract protected function _getCacheDriver();