TimeTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 4
dl 0
loc 52
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testSub() 0 13 1
A dataProvide() 0 8 1
A testFormat() 0 6 1
A testGetTimeFormat() 0 5 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Itmedia\ZippyBusBundle\Tests\Schedule;
6
7
use Itmedia\ZippyBusBundle\Schedule\StopTime;
8
use PHPUnit\Framework\TestCase;
9
10
class TimeTest extends TestCase
11
{
12
13
14
    /**
15
     * @dataProvider dataProvide
16
     * @param $minutes
17
     * @param $h
18
     * @param $m
19
     */
20
    public function testFormat(int $minutes, int $h, int $m)
21
    {
22
        $time = new StopTime($minutes);
23
24
        $this->assertEquals($h, $time->getHour());
25
        $this->assertEquals($m, $time->getMinute());
26
    }
27
28
29
    public function dataProvide()
30
    {
31
        return [
32
            [1, 0, 1],
33
            [376, 6, 16],
34
            [399, 6, 39],
35
            [1440, 0, 0],
36
            [1511, 1, 11],
37
        ];
38
    }
39
40
41
    public function testSub()
42
    {
43
        $time = new StopTime(1511);
44
        $this->assertEquals(1, $time->getHour());
45
        $this->assertEquals(11, $time->getMinute());
46
47
        $time = $time->sub(new StopTime(2));
48
        $this->assertEquals(1, $time->getHour());
49
        $this->assertEquals(9, $time->getMinute());
50
51
        $time = $time->sub(new StopTime(70));
52
        $this->assertEquals(23, $time->getHour());
53
        $this->assertEquals(59, $time->getMinute());
54
    }
55
56
57
    public function testGetTimeFormat()
58
    {
59
        $time = new StopTime(0);
60
61
        $this->assertEquals('0:00', $time->getTimeFormat());
62
    }
63
}
64