Passed
Pull Request — master (#251)
by Gabriel
10:21
created

ArrayCacheTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
wmc 3
c 0
b 0
f 0
lcom 1
cbo 3
dl 0
loc 45
rs 10
1
<?php
2
3
namespace Doctrine\Tests\Common\Cache;
4
5
use Doctrine\Common\Cache\ArrayCache;
6
use Doctrine\Common\Cache\Cache;
7
use Doctrine\Common\Cache\CacheProvider;
8
9
class ArrayCacheTest extends CacheTest
10
{
11
    protected function _getCacheDriver() : CacheProvider
12
    {
13
        return new ArrayCache();
14
    }
15
16
    public function testGetStats() : void
17
    {
18
        $cache = $this->_getCacheDriver();
19
        $cache->fetch('test1');
20
        $cache->fetch('test2');
21
        $cache->fetch('test3');
22
23
        $cache->save('test1', 123);
24
        $cache->save('test2', 123);
25
26
        $cache->fetch('test1');
27
        $cache->fetch('test2');
28
        $cache->fetch('test3');
29
30
        $stats = $cache->getStats();
31
        self::assertEquals(2, $stats[Cache::STATS_HITS]);
32
        self::assertEquals(5, $stats[Cache::STATS_MISSES]); // +1 for internal call to DoctrineNamespaceCacheKey
33
        self::assertNotNull($stats[Cache::STATS_UPTIME]);
34
        self::assertNull($stats[Cache::STATS_MEMORY_USAGE]);
35
        self::assertNull($stats[Cache::STATS_MEMORY_AVAILABLE]);
36
37
        $cache->delete('test1');
38
        $cache->delete('test2');
39
40
        $cache->fetch('test1');
41
        $cache->fetch('test2');
42
        $cache->fetch('test3');
43
44
        $stats = $cache->getStats();
45
        self::assertEquals(2, $stats[Cache::STATS_HITS]);
46
        self::assertEquals(8, $stats[Cache::STATS_MISSES]); // +1 for internal call to DoctrineNamespaceCacheKey
47
    }
48
49
    protected function isSharedStorage() : bool
50
    {
51
        return false;
52
    }
53
}
54