Passed
Push — master ( 9ff768...b736eb )
by Laurens
02:33
created

CoordinatesParserTest::parse()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 15
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 10
nc 1
nop 3
1
<?php
2
3
declare(strict_types=1);
4
5
namespace LauLamanApps\IzettleApi\Tests\Unit\Client\Purchase;
6
7
use LauLamanApps\IzettleApi\API\Purchase\Coordinates;
8
use LauLamanApps\IzettleApi\Client\Purchase\CoordinatesParser;
9
use PHPUnit\Framework\TestCase;
10
11
/**
12
 * @small
13
 */
14
final class CoordinatesParserTest extends TestCase
15
{
16
    /**
17
     * @test
18
     * @dataProvider getCoordinates
19
     */
20
    public function parse(float $latitude, float $longitude, float $accuracyMeters): void
21
    {
22
        $data = [
23
            'latitude' => $latitude,
24
            'longitude' => $longitude,
25
            'accuracyMeters' => $accuracyMeters,
26
        ];
27
28
        $coordinate = CoordinatesParser::parse($data);
29
30
        self::assertInstanceOf(Coordinates::class, $coordinate);
31
        self::assertSame($latitude, $coordinate->getLatitude());
32
        self::assertSame($longitude, $coordinate->getLongitude());
33
        self::assertSame($accuracyMeters, $coordinate->getAccuracyMeters());
34
    }
35
36 View Code Duplication
    public function getCoordinates(): array
37
    {
38
        return [
39
            'Almere Poort, The Netherlands' => [52.3504547, 5.1511458, 10],
40
            'Amsterdam, The Netherlands' => [52.3702157, 4.8951679, 0],
41
            'Den Haag, The Netherlands' => [52.0704978, 4.3006999, -10.1],
42
        ];
43
    }
44
}
45