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

ArrayCacheTest::testGetStats()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 32
Code Lines 24

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 32
c 0
b 0
f 0
rs 8.8571
cc 1
eloc 24
nc 1
nop 0
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