Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / common / tests / Doctrine / Tests / Common / Cache / CacheTest.php
1 <?php
2
3 namespace Doctrine\Tests\Common\Cache;
4
5 use Doctrine\Common\Cache\Cache;
6
7 abstract class CacheTest extends \Doctrine\Tests\DoctrineTestCase
8 {
9     public function testBasics()
10     {
11         $cache = $this->_getCacheDriver();
12
13         // Test save
14         $cache->save('test_key', 'testing this out');
15
16         // Test contains to test that save() worked
17         $this->assertTrue($cache->contains('test_key'));
18
19         // Test fetch
20         $this->assertEquals('testing this out', $cache->fetch('test_key'));
21
22         // Test delete
23         $cache->save('test_key2', 'test2');
24         $cache->delete('test_key2');
25         $this->assertFalse($cache->contains('test_key2'));
26     }
27
28     public function testObjects()
29     {
30         $cache = $this->_getCacheDriver();
31
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);
35     }
36
37     public function testDeleteAll()
38     {
39         $cache = $this->_getCacheDriver();
40         $cache->save('test_key1', '1');
41         $cache->save('test_key2', '2');
42         $cache->deleteAll();
43
44         $this->assertFalse($cache->contains('test_key1'));
45         $this->assertFalse($cache->contains('test_key2'));
46     }
47
48     public function testFlushAll()
49     {
50         $cache = $this->_getCacheDriver();
51         $cache->save('test_key1', '1');
52         $cache->save('test_key2', '2');
53         $cache->flushAll();
54
55         $this->assertFalse($cache->contains('test_key1'));
56         $this->assertFalse($cache->contains('test_key2'));
57     }
58
59     public function testNamespace()
60     {
61         $cache = $this->_getCacheDriver();
62         $cache->setNamespace('test_');
63         $cache->save('key1', 'test');
64
65         $this->assertTrue($cache->contains('key1'));
66
67         $cache->setNamespace('test2_');
68
69         $this->assertFalse($cache->contains('key1'));
70     }
71
72     /**
73      * @group DCOM-43
74      */
75     public function testGetStats()
76     {
77         $cache = $this->_getCacheDriver();
78         $stats = $cache->getStats();
79
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);
85     }
86
87     /**
88      * @return \Doctrine\Common\Cache\CacheProvider
89      */
90     abstract protected function _getCacheDriver();
91 }