Passed
Push — master ( 9ccabb...39bdf1 )
by Petr
07:56
created

IteratorTest::testIterator()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 25
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 16
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 25
rs 9.7333
1
<?php
2
3
namespace CoreTests;
4
5
6
use CommonTestClass;
7
use kalanis\kw_connect\core\AIterator;
8
9
10
class IteratorTest extends CommonTestClass
11
{
12
    public function testIterator()
13
    {
14
        $data = new Iter();
15
        $this->assertInstanceOf(\ArrayAccess::class, $data);
16
        $this->assertInstanceOf(\IteratorAggregate::class, $data);
17
        $this->assertInstanceOf(\Countable::class, $data);
18
19
        $this->assertEmpty($data->count());
20
21
        $data->offsetSet('different', 'another');
22
        $data->offsetSet('wub', 'wuz');
23
24
        $this->assertEquals(2, $data->count());
25
26
        $this->assertEquals('another', $data->offsetGet('different'));
27
        $this->assertEquals('wuz', $data->offsetGet('wub'));
28
        $this->assertNull($data->offsetGet('unknown'));
29
30
        $data->offsetUnset('different');
31
        $this->assertEquals(1, $data->count());
32
33
        $data->offsetUnset('unknown');
34
        $this->assertEquals(1, $data->count());
35
36
        $data->getIterator();
37
    }
38
}
39
40
41
class Iter extends AIterator
42
{
43
    protected $testing = [];
44
45
    protected function getIterableName(): string
46
    {
47
        return 'testing';
48
    }
49
}
50