Completed
Branch feature/0.7.0 (0808a6)
by Ryuichi
119:02 queued 74:09
created

CacheTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 56
Duplicated Lines 100 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
dl 56
loc 56
rs 10
c 0
b 0
f 0
wmc 4
lcom 0
cbo 2

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
namespace WebStream\Cache\Test;
3
4
require_once dirname(__FILE__) . '/../Modules/DI/Injector.php';
5
require_once dirname(__FILE__) . '/../Modules/Container/Container.php';
6
require_once dirname(__FILE__) . '/../Modules/Container/ValueProxy.php';
7
require_once dirname(__FILE__) . '/../Modules/IO/InputStream.php';
8
require_once dirname(__FILE__) . '/../Modules/IO/OutputStream.php';
9
require_once dirname(__FILE__) . '/../Modules/IO/File.php';
10
require_once dirname(__FILE__) . '/../Modules/IO/FileInputStream.php';
11
require_once dirname(__FILE__) . '/../Modules/IO/FileOutputStream.php';
12
require_once dirname(__FILE__) . '/../Modules/IO/Reader/InputStreamReader.php';
13
require_once dirname(__FILE__) . '/../Modules/IO/Reader/FileReader.php';
14
require_once dirname(__FILE__) . '/../Modules/IO/Writer/OutputStreamWriter.php';
15
require_once dirname(__FILE__) . '/../Modules/IO/Writer/FileWriter.php';
16
require_once dirname(__FILE__) . '/../Driver/ICache.php';
17
require_once dirname(__FILE__) . '/../Driver/Apcu.php';
18
require_once dirname(__FILE__) . '/../Driver/Memcached.php';
19
require_once dirname(__FILE__) . '/../Driver/Redis.php';
20
require_once dirname(__FILE__) . '/../Driver/TemporaryFile.php';
21
require_once dirname(__FILE__) . '/../Driver/CacheDriverFactory.php';
22
require_once dirname(__FILE__) . '/Modules/InvalidArgumentException.php';
23
require_once dirname(__FILE__) . '/Modules/IOException.php';
24
require_once dirname(__FILE__) . '/Providers/CacheProvider.php';
25
26
use WebStream\Cache\Test\Providers\CacheProvider;
27
28
/**
29
 * CacheTest
30
 * @author Ryuichi TANAKA.
31
 * @since 2016/07/06
32
 * @version 0.7
33
 */
34
class CacheTest extends \PHPUnit_Framework_TestCase
35
{
36
    use CacheProvider;
37
38
    /**
39
     * 正常系
40
     * キャッシュを新規追加できること
41
     * @test
42
     * @dataProvider cacheProvider
43
     */
44
    public function okAddCache($cache)
45
    {
46
        $ttt = $cache->add("key", "value1", 0, false);
47
        $this->assertEquals($cache->get("key"), "value1");
48
    }
49
50
    /**
51
     * 正常系
52
     * キャッシュを上書きできること
53
     * @test
54
     * @dataProvider cacheProvider
55
     */
56
    public function okAddOverwriteCache($cache)
57
    {
58
        $cache->add("key", "value1", 0, true);
59
        $this->assertEquals($cache->get("key"), "value1");
60
    }
61
62
    /**
63
     * 正常系
64
     * キャッシュを削除できること
65
     * @test
66
     * @dataProvider cacheProvider
67
     */
68
    public function okDeleteCache($cache)
69
    {
70
        $cache->add("key", "value1", 0, true);
71
        $cache->delete("key");
72
        $this->assertNull($cache->get("key"));
73
    }
74
75
    /**
76
     * 正常系
77
     * キャッシュを削除できること
78
     * @test
79
     * @dataProvider cacheProvider
80
     */
81
    public function okClearCache($cache)
82
    {
83
        $cache->add("key1", "value1", 0, true);
84
        $cache->add("key2", "value2", 0, true);
85
        $cache->clear();
86
        $this->assertNull($cache->get("key1"));
87
        $this->assertNull($cache->get("key2"));
88
    }
89
}
90