Completed
Push — master ( 9f316b...521c5d )
by Mehmet
02:30
created

AbstractTestCases::testIncrementDecrementItem()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

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