Sibyx/phpGPX

View on GitHub
tests/LoadFileTest.php

Summary

Maintainability
F
5 days
Test Coverage
<?php

namespace phpGPX\Tests;

use phpGPX\phpGPX;
use PHPUnit\Framework\TestCase;

class LoadFileTest extends TestCase
{
    /**
     * @coversNothing
     * @return void
     */
    public function testLoadXmlFileGeneratedByTimezero()
    {
        $file = __DIR__ . '/fixtures/timezero.gpx';

        $gpx = new phpGpx();
        $gpxFile = $gpx->load($file);

        $this->assertEqualsWithDelta($this->createExpectedArray(), $gpxFile->toArray(), 0.1);

        // Check XML generation
        $gpxFile->toXML()->saveXML();
    }

    private function createExpectedArray()
    {
        return [
            'waypoints' => [
                [
                    'lat' => 49.3636333333086,
                    'lon' => 0.0800866666666667,
                    'time' => '2014-12-13T16:32:51+00:00',
                    'name' => 'Event 0000',
                    'cmt' => '',
                    'extensions' => [
                        'unsupported' => [
                            'MxTimeZeroSymbol' => 10,
                            'color' => -16744448,
                        ],
                    ],
                ],
                [
                    'lat' => 49.3636333333086,
                    'lon' => 0.0800866666666667,
                    'time' => '2014-12-13T16:32:52+00:00',
                    'name' => 'Event 0001',
                    'cmt' => '',
                    'extensions' => [
                        'unsupported' => [
                            'MxTimeZeroSymbol' => 10,
                            'color' => -16744448,
                        ],
                    ],
                ],
            ],
            'tracks' => [
                [
                    'name' => 'Ownship',
                    'extensions' => [
                        'unsupported' => [
                            'guid' => 201,
                        ],
                    ],
                    'trkseg' => [
                        [
                            'points' => [
                                [
                                    'lat' => 49.3635449998312,
                                    'lon' => 0.0801483333364938,
                                    'time' => '2010-01-01T14:48:37+00:00',
                                ],
                                [
                                    'lat' => 49.3635350651798,
                                    'lon' => 0.0801416666698513,
                                    'time' => '2010-01-01T14:48:40+00:00',
                                    'difference' => 1.2055693602077022,
                                    'distance' => 1.2055693602077022,
                                ],
                                [
                                    'lat' => 49.3635266991555,
                                    'lon' => 0.0801333333365323,
                                    'time' => '2010-01-01T14:48:46+00:00',
                                    'difference' => 1.1088552014759407,
                                    'distance' => 2.314424561683643,
                                ],
                            ],
                            'stats' => [
                                'distance' => 2.314424561683643,
                                'realDistance' => 2.314424561683643,
                                'avgSpeed' => 0.2571582846315159,
                                'avgPace' => 3888.6555859279733,
                                'minAltitude' => 0.0,
                                'minAltitudeCoords' => [
                                    'lat' => 49.3635449998312,
                                    'lng' => 0.0801483333364938
                                ],
                                'maxAltitude' => 0.0,
                                'cumulativeElevationGain' => 0.0,
                                'cumulativeElevationLoss' => 0.0,
                                'startedAt' => '2010-01-01T14:48:37+00:00',
                                'startedAtCoords' => [
                                    'lat' => 49.3635449998312,
                                    'lng' => 0.0801483333364938
                                ],
                                'finishedAt' => '2010-01-01T14:48:46+00:00',
                                'finishedAtCoords' => [
                                    'lat' => 49.3635266991555,
                                    'lng' => 0.0801333333365323
                                ],
                                'duration' => 9.0,
                                'bounds' => [
                                    [
                                        'lat' => 49.3635449998312,
                                        'lng' => 0.0801333333365323
                                    ],
                                    [
                                        'lat' => 49.3635266991555,
                                        'lng' => 0.0801483333364938
                                    ],
                                ]
                            ],
                        ],
                    ],
                    'stats' => [
                        'distance' => 2.314424561683643,
                        'realDistance' => 2.314424561683643,
                        'avgSpeed' => 0.2571582846315159,
                        'avgPace' => 3888.6555859279733,
                        'minAltitude' => 0.0,
                        'minAltitudeCoords' => [
                            'lat' => 49.3635449998312,
                            'lng' => 0.0801483333364938
                        ],
                        'maxAltitude' => 0.0,
                        'cumulativeElevationGain' => 0.0,
                        'cumulativeElevationLoss' => 0.0,
                        'startedAt' => '2010-01-01T14:48:37+00:00',
                        'startedAtCoords' => [
                            'lat' => 49.3635449998312,
                            'lng' => 0.0801483333364938
                        ],
                        'finishedAt' => '2010-01-01T14:48:46+00:00',
                        'finishedAtCoords' => [
                            'lat' => 49.3635266991555,
                            'lng' => 0.0801333333365323
                        ],
                        'duration' => 9.0,
                        'bounds' => [
                            [
                                'lat' => 49.4574117319429,
                                'lng' => 0.0342948235267376
                            ],
                            [
                                'lat' => 49.4573700325059,
                                'lng' => 0.0343682156842231
                            ],
                        ]
                    ],
                ],
                [
                    'name' => 'Ownship',
                    'extensions' => [
                        'unsupported' => [
                            'guid' => 102,
                        ],
                    ],
                    'trkseg' => [
                        [
                            'points' => [
                                [
                                    'lat' => 49.4574117319429,
                                    'lon' => 0.0343682156842231,
                                    'time' => '2016-04-03T14:13:09+00:00',
                                ],
                                [
                                    'lat' => 49.4573966992346,
                                    'lon' => 0.0343466078409025,
                                    'time' => '2016-04-03T14:13:10+00:00',
                                    'difference' => 2.2876315307770505,
                                    'distance' => 2.2876315307770505,
                                ],
                                [
                                    'lat' => 49.4573700325059,
                                    'lon' => 0.0342948235267376,
                                    'time' => '2016-04-03T14:13:12+00:00',
                                    'difference' => 4.775098771720203,
                                    'distance' => 7.062730302497254,
                                ],
                            ],
                            'stats' => [
                                'distance' => 7.062730302497254,
                                'realDistance' => 7.062730302497254,
                                'avgSpeed' => 2.354243434165751,
                                'avgPace' => 424.7649098167112,
                                'minAltitude' => 0.0,
                                'minAltitudeCoords' => [
                                    'lat' => 49.4574117319429,
                                    'lng' => 0.0343682156842231
                                ],
                                'maxAltitude' => 0.0,
                                'cumulativeElevationGain' => 0.0,
                                'cumulativeElevationLoss' => 0.0,
                                'startedAt' => '2016-04-03T14:13:09+00:00',
                                'startedAtCoords' => [
                                    'lat' => 49.4574117319429,
                                    'lng' => 0.0343682156842231
                                ],
                                'finishedAt' => '2016-04-03T14:13:12+00:00',
                                'finishedAtCoords' => [
                                    'lat' => 49.4573700325059,
                                    'lng' => 0.0342948235267376
                                ],
                                'duration' => 3.0,
                                'bounds' => [
                                    [
                                        'lat' => 49.4574117319429,
                                        'lng' => 0.0342948235267376
                                    ],
                                    [
                                        'lat' => 49.4573700325059,
                                        'lng' => 0.0343682156842231
                                    ],
                                ]
                            ],
                        ],
                    ],
                    'stats' => [
                        'distance' => 7.062730302497254,
                        'realDistance' => 7.062730302497254,
                        'avgSpeed' => 2.354243434165751,
                        'avgPace' => 424.7649098167112,
                        'minAltitude' => 0.0,
                        'minAltitudeCoords' => [
                            'lat' => 49.4574117319429,
                            'lng' => 0.0343682156842231
                        ],
                        'maxAltitude' => 0.0,
                        'cumulativeElevationGain' => 0.0,
                        'cumulativeElevationLoss' => 0.0,
                        'startedAt' => '2016-04-03T14:13:09+00:00',
                        'startedAtCoords' => [
                            'lat' => 49.4574117319429,
                            'lng' => 0.0343682156842231
                        ],
                        'finishedAt' => '2016-04-03T14:13:12+00:00',
                        'finishedAtCoords' => [
                            'lat' => 49.4573700325059,
                            'lng' => 0.0342948235267376
                        ],
                        'duration' => 3.0,
                        'bounds' => [
                            [
                                'lat' => 49.4574117319429,
                                'lng' => 0.0342948235267376
                            ],
                            [
                                'lat' => 49.4573700325059,
                                'lng' => 0.0343682156842231
                            ],
                        ]
                    ],
                ],
            ],
        ];
    }
}