Completed
Push — master ( 9b1be8...0d08a3 )
by Mehmet
02:21
created

ACPUCacheTest::testClear()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 3
nc 1
nop 0
1
<?php
2
namespace tests;
3
4
use Soupmix;
5
6
class ACPUCacheTest extends \PHPUnit_Framework_TestCase
7
{
8
    /**
9
     * @var \Soupmix\Cache\APCUCache $client
10
     */
11
    protected $client = null;
12
13
    protected function setUp()
14
    {
15
        $this->client = new Soupmix\Cache\APCUCache();
16
    }
17
18
    public function testSetGetAndDeleteAnItem()
19
    {
20
        $ins1 = $this->client->set('test1','value1');
21
        $this->assertTrue($ins1);
22
        $value1 = $this->client->get('test1');
23
        $this->assertEquals('value1',$value1);
24
        $delete = $this->client->delete('test1');
25
        $this->assertTrue($delete);
26
    }
27
28
    public function testSetGetAndDeleteMultipleItems()
29
    {
30
        $cacheData = [
31
            'test1' => 'value1',
32
            'test2' => 'value2',
33
            'test3' => 'value3',
34
            'test4' => 'value4'
35
        ];
36
        $insMulti = $this->client->setMultiple($cacheData);
37
        $this->assertTrue($insMulti);
38
39
        $getMulti = $this->client->getMultiple(array_keys($cacheData));
40
41
        foreach ($cacheData as $key => $value) {
42
            $this->assertArrayHasKey($key, $getMulti);
43
            $this->assertEquals($value, $getMulti[$key]);
44
        }
45
        $deleteMulti = $this->client->deleteMultiple(array_keys($cacheData));
46
47
        foreach ($cacheData as $key => $value) {
48
            $this->assertTrue($deleteMulti[$key]);
49
        }
50
    }
51
52
    public function testIncrementAndDecrementACounterItem()
53
    {
54
        $this->client->set('counter', 0);
55
        $counter_i_1 = $this->client->increment('counter', 1);
56
        $this->assertEquals(1, $counter_i_1);
57
        $counter_i_3 = $this->client->increment('counter', 2);
58
        $this->assertEquals(3, $counter_i_3);
59
        $counter_i_4 = $this->client->increment('counter');
60
        $this->assertEquals(4, $counter_i_4);
61
        $counter_d_3 = $this->client->decrement('counter');
62
        $this->assertEquals(3, $counter_d_3);
63
        $counter_d_1 = $this->client->decrement('counter', 2);
64
        $this->assertEquals(1, $counter_d_1);
65
        $counter_d_0 = $this->client->decrement('counter', 1);
66
        $this->assertEquals(0, $counter_d_0);
67
    }
68
69
    public function testClear(){
70
        $clear = $this->client->clear();
71
        $this->assertTrue($clear);
72
    }
73
74
}
75