EventsRowTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 56
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

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

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetLabel() 0 7 1
A testGetEvents() 0 12 1
A testAddUnknownEvent() 0 9 1
A testAddEvent() 0 19 1
1
<?php
2
3
namespace Spiral\Tests\Statistics\Extract;
4
5
use Spiral\Statistics\Extract\Events\Row;
6
use Spiral\Tests\BaseTest;
7
8
class EventsRowTest extends BaseTest
9
{
10
    public function testGetLabel()
11
    {
12
        $label = 'label';
13
        $row = new Row($label, []);
14
15
        $this->assertSame($label, $row->getLabel());
16
    }
17
18
    public function testGetEvents()
19
    {
20
        $label = 'label';
21
        $row = new Row($label, []);
22
23
        $this->assertSame([], $row->getEvents());
24
25
        $label = 'label';
26
        $row = new Row($label, ['event 1', 'event 2']);
27
28
        $this->assertSame(['event 1' => 0, 'event 2' => 0], $row->getEvents());
29
    }
30
31
    /**
32
     * @expectedException \Spiral\Statistics\Exceptions\InvalidExtractEventException
33
     */
34
    public function testAddUnknownEvent()
35
    {
36
        $label = 'label';
37
        $row = new Row($label, []);
38
39
        $this->assertSame([], $row->getEvents());
40
41
        $row->addEvent('some-event', 1);
42
    }
43
44
    public function testAddEvent()
45
    {
46
        $label = 'label';
47
        $row = new Row($label, ['event 1', 'event 2']);
48
49
        $this->assertSame(['event 1' => 0, 'event 2' => 0], $row->getEvents());
50
51
        $row->addEvent('event 1', 1.1);
52
        $row->addEvent('event 2', 2.2);
53
        $row->addEvent('event 1', 3.3);
54
55
        $this->assertArrayHasKey('event 1', $row->getEvents());
56
        $this->assertArrayHasKey('event 2', $row->getEvents());
57
58
        $this->assertCount(2, $row->getEvents());
59
60
        $this->assertSame(4.4, $row->getEvents()['event 1']);
61
        $this->assertSame(2.2, $row->getEvents()['event 2']);
62
    }
63
}