mirror of
https://github.com/trzcode/Waddle.git
synced 2026-05-06 16:05:21 +02:00
unit tests
added in some unit tests
This commit is contained in:
parent
10160241f2
commit
b22ae60490
5 changed files with 129 additions and 54 deletions
|
|
@ -12,6 +12,9 @@
|
|||
"require": {
|
||||
"php": ">=7.0.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "dev-master"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": { "Waddle\\": "src/" }
|
||||
}
|
||||
|
|
|
|||
8
phpunit.xml
Normal file
8
phpunit.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit colors="true" bootstrap="vendor/autoload.php">
|
||||
<testsuites>
|
||||
<testsuite name="Waddle test suite">
|
||||
<directory>tests/</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
</phpunit>
|
||||
41
tests/ConverterTest.php
Normal file
41
tests/ConverterTest.php
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
|
||||
namespace Waddle;
|
||||
|
||||
class ConverterTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
public function testConvertMetresPerSecondToMilesPerHour(){
|
||||
$this->assertEquals(2.23694, \Waddle\Converter::convertMetresPerSecondToMilesPerHour(1));
|
||||
}
|
||||
|
||||
public function testConvertMetresPerSecondToKilometresPerHour(){
|
||||
$this->assertEquals(3.6, \Waddle\Converter::convertMetresPerSecondToKilometresPerHour(1));
|
||||
}
|
||||
|
||||
public function testConvertMetresToKilometres(){
|
||||
$this->assertEquals(1, \Waddle\Converter::convertMetresToKilometres(1000));
|
||||
}
|
||||
|
||||
public function testConvertMetresToMiles(){
|
||||
$this->assertEquals(1, \Waddle\Converter::convertMetresToMiles(1609.34));
|
||||
}
|
||||
|
||||
public function testConvertMetresToFeet(){
|
||||
$this->assertEquals(3.28084, \Waddle\Converter::convertMetresToFeet(1));
|
||||
}
|
||||
|
||||
public function testConvertMilesToMetres(){
|
||||
$this->assertEquals(1609.34, \Waddle\Converter::convertMilesToMetres(1));
|
||||
}
|
||||
|
||||
public function testConvertKilometresToMetres(){
|
||||
$this->assertEquals(1000, \Waddle\Converter::convertKilometresToMetres(1));
|
||||
}
|
||||
|
||||
public function testHumanReadableSeconds(){
|
||||
$this->assertEquals('05:04:54', \Waddle\Converter::convertSecondsToHumanReadable(18294));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
77
tests/Parsers/TCXParserTest.php
Normal file
77
tests/Parsers/TCXParserTest.php
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
<?php
|
||||
|
||||
namespace Waddle\Parsers;
|
||||
|
||||
class TXCParserTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
public $parser, $activity;
|
||||
|
||||
public function setUp() {
|
||||
$this->parser = new \Waddle\Parsers\TCXParser();
|
||||
$this->activity = $this->parser->parse( __DIR__ . '/../run.tcx' );
|
||||
}
|
||||
|
||||
public function testActivityStartTime(){
|
||||
$this->assertEquals('2017-05-27 09:13:01', $this->activity->getStartTime('Y-m-d H:i:s'));
|
||||
}
|
||||
|
||||
public function testActivityLaps(){
|
||||
$this->assertEquals(1, count($this->activity->getLaps()));
|
||||
}
|
||||
|
||||
public function testActivityTotalDistance(){
|
||||
$this->assertEquals(4824.94, $this->activity->getTotalDistance());
|
||||
}
|
||||
|
||||
public function testActivityTotalDuration(){
|
||||
$this->assertEquals(1424, $this->activity->getTotalDuration());
|
||||
}
|
||||
|
||||
public function testActivityAveragePacePerMile(){
|
||||
$this->assertEquals('00:07:54', $this->activity->getAveragePacePerMile());
|
||||
}
|
||||
|
||||
public function testActivityAveragePacePerKilometre(){
|
||||
$this->assertEquals('00:04:55', $this->activity->getAveragePacePerKilometre());
|
||||
}
|
||||
|
||||
public function testActivityAverageSpeedMPH(){
|
||||
$this->assertEquals('7.58', round($this->activity->getAverageSpeedInMPH(), 2));
|
||||
}
|
||||
|
||||
public function testActivityAverageSpeedKPH(){
|
||||
$this->assertEquals('12.20', round($this->activity->getAverageSpeedInKPH(), 2));
|
||||
}
|
||||
|
||||
public function testActivityTotalCalories(){
|
||||
$this->assertEquals(372, $this->activity->getTotalCalories());
|
||||
}
|
||||
|
||||
public function testActivityMaxSpeedMPH(){
|
||||
$this->assertEquals('10.45', round($this->activity->getMaxSpeedInMPH(), 2));
|
||||
}
|
||||
|
||||
public function testActivityMaxSpeedKPH(){
|
||||
$this->assertEquals('16.81', round($this->activity->getMaxSpeedInKPH(), 2));
|
||||
}
|
||||
|
||||
public function testActivityTotalAscent(){
|
||||
$result = $this->activity->getTotalAscentDescent();
|
||||
$this->assertEquals(50.9, $result['ascent']);
|
||||
}
|
||||
|
||||
public function testActivityTotalDescent(){
|
||||
$result = $this->activity->getTotalAscentDescent();
|
||||
$this->assertEquals(50.2, $result['descent']);
|
||||
}
|
||||
|
||||
public function testActivitySplitsInMiles(){
|
||||
$this->assertEquals(3, count($this->activity->getSplits('mi')));
|
||||
}
|
||||
|
||||
public function testActivitySplitsInKilometres(){
|
||||
$this->assertEquals(5, count($this->activity->getSplits('k')));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<?php
|
||||
|
||||
// require files for testing
|
||||
require_once __DIR__ . '/../src/Activity.php';
|
||||
require_once __DIR__ . '/../src/Lap.php';
|
||||
require_once __DIR__ . '/../src/TrackPoint.php';
|
||||
require_once __DIR__ . '/../src/Converter.php';
|
||||
|
||||
require_once __DIR__ . '/../src/Parsers/Parser.php';
|
||||
require_once __DIR__ . '/../src/Parsers/TCXParser.php';
|
||||
|
||||
|
||||
$parser = new \Waddle\Parsers\TCXParser();
|
||||
$activity = $parser->parse('run.tcx');
|
||||
|
||||
echo "dist:";
|
||||
var_dump( $activity->getTotalDistance() );
|
||||
var_dump( \Waddle\Converter::convertMetresToMiles($activity->getTotalDistance()) . ' mi') ;
|
||||
var_dump( \Waddle\Converter::convertMetresToKilometres($activity->getTotalDistance()) . ' k') ;
|
||||
|
||||
|
||||
echo "dur:";
|
||||
var_dump( $activity->getTotalDuration() );
|
||||
var_dump( \Waddle\Converter::convertSecondsToHumanReadable($activity->getTotalDuration()) );
|
||||
|
||||
echo "pace:";
|
||||
var_dump( $activity->getAveragePacePerMile() );
|
||||
var_dump( $activity->getAveragePacePerKilometre() );
|
||||
|
||||
echo "cal:";
|
||||
var_dump( $activity->getTotalCalories() );
|
||||
|
||||
echo "avg speed:";
|
||||
var_dump( $activity->getAverageSpeedInMPH() . ' mph') ;
|
||||
var_dump( $activity->getAverageSpeedInKPH(). ' kph') ;
|
||||
|
||||
echo "max speed:";
|
||||
var_dump( $activity->getMaxSpeedInMPH() . ' mph') ;
|
||||
var_dump( $activity->getMaxSpeedInKPH() . ' kph') ;
|
||||
|
||||
echo "elevation:";
|
||||
$elv = $activity->getTotalAscentDescent();
|
||||
var_dump( 'up ' . \Waddle\Converter::convertMetresToFeet( $elv['ascent'] ) . ' ft');
|
||||
var_dump( 'down ' . \Waddle\Converter::convertMetresToFeet( $elv['descent'] ) . ' ft');
|
||||
|
||||
echo "splits:";
|
||||
var_dump( $activity->getSplits('mi') );
|
||||
var_dump( $activity->getSplits('k') );
|
||||
|
||||
|
||||
|
||||
echo "<hr>";
|
||||
var_dump($parser);
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue