Skip to content

Commit

Permalink
Feat: add base volume unit class + integration test
Browse files Browse the repository at this point in the history
  • Loading branch information
jordanbrauer committed Oct 11, 2017
1 parent 6532560 commit 6200283
Show file tree
Hide file tree
Showing 2 changed files with 100 additions and 0 deletions.
34 changes: 34 additions & 0 deletions src/UnitConverter/Unit/Volume/VolumeUnit.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

/**
* This file is part of the jordanbrauer/unit-converter PHP package.
*
* @copyright 2017 Jordan Brauer <[email protected]>
* @license MIT
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

declare(strict_types = 1);

namespace UnitConverter\Unit\Volume;

use UnitConverter\Measure;
use UnitConverter\Unit\{ AbstractUnit, UnitInterface };

/**
* Volume base data class. Any new volume units should
* extend this class and implement their name, symbol and units;
* overriding the $unitOf and $base properties only if necessary.
*
* @version 1.0.0
* @since 1.0.0
* @author Jordan Brauer <[email protected]>
*/
abstract class VolumeUnit extends AbstractUnit
{
protected $unitOf = Measure::VOLUME;

protected $base = Litre::class;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?php

/**
* This file is part of the jordanbrauer/unit-converter PHP package.
*
* @copyright 2017 Jordan Brauer <[email protected]>
* @license MIT
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

declare(strict_types = 1);

namespace UnitConverter\Tests\Integration\Unit\Volume;

use PHPUnit\Framework\TestCase;
use UnitConverter\UnitConverter;
use UnitConverter\Registry\UnitRegistry;
use UnitConverter\Unit\Volume\{
Litre,
Mililitre,
Gallon,
Pint
};

/**
* Test the default temperature units for conversion accuracy.
*
* @author Jordan Brauer <[email protected]>
*/
class VolumeUnitsSpec extends TestCase
{
protected function setUp ()
{
$this->converter = new UnitConverter(
new UnitRegistry(array(
new Litre,
new Mililitre,
new Gallon,
new Pint,
))
);
}

protected function tearDown ()
{
unset($this->converter);
}

/**
* @test
* @coversNothing
*/
public function assert ()
{
$expected = 4.73176;
$actual = $this->converter
->convert(10)
->from("pt")
->to("l")
;

$this->assertEquals(round($expected, 5), round($actual, 5));
}
}

0 comments on commit 6200283

Please sign in to comment.