Skip to content

Commit

Permalink
Added quotient
Browse files Browse the repository at this point in the history
  • Loading branch information
Severino committed Jul 29, 2024
1 parent 098b4c9 commit 203db2c
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 1 deletion.
21 changes: 21 additions & 0 deletions app/AttributeTypes/Units/Implementations/QuotientUnits.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php

namespace App\AttributeTypes\Units\Implementations;

use App\AttributeTypes\Units\Unit;
use App\AttributeTypes\Units\UnitSystem;

class QuotientUnits extends UnitSystem
{

public function __construct()
{
parent::__construct('quotient', [
Unit::createUnit('percent', '%', 1e4),
Unit::createBase('parts per million' , 'ppm'),
]);
}



}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
class VolumetricFlowUnits extends UnitSystem {
public function __construct() {
parent::__construct('volumetric flow', [
Unit::createBase( 'm³/s', 'm³/s'),
Unit::createBase('m³/s', 'm³/s'),
Unit::createUnit('l/s' , 'l/s', 10 ** (Si::DECI * 3)),
]);

Expand Down
14 changes: 14 additions & 0 deletions tests/Unit/Attributes/SiAttributeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
use App\AttributeTypes\Units\Implementations\LengthUnits;
use App\AttributeTypes\Units\Implementations\MassUnits;
use App\AttributeTypes\Units\Implementations\PressureUnits;
use App\AttributeTypes\Units\Implementations\QuotientUnits;
use App\AttributeTypes\Units\Implementations\SpeedUnits;
use App\AttributeTypes\Units\Implementations\TemperatureUnits;
use App\AttributeTypes\Units\Implementations\TimeUnits;
Expand Down Expand Up @@ -391,6 +392,19 @@ public function testVolumetricFlow(){
$this->assertEquals(10 ** -3, $lps->is(1));
}

public function testQuotients(){
$quotientUnits = new QuotientUnits();

$baseUnit = $quotientUnits->getBaseUnit();
$this->assertEquals('ppm', $baseUnit->getSymbol());
$this->assertEquals('parts per million', $baseUnit->getLabel());

$percent = $quotientUnits->get('percent');
$this->assertEquals('%', $percent->getSymbol());
$this->assertEquals(1, $percent->is(1e-4));
$this->assertEquals(1e6, $percent->is(100));
}


public function testImportErrorWrongValue(){
$importValue = 10;
Expand Down

0 comments on commit 203db2c

Please sign in to comment.