Skip to content

Commit 7d853bc

Browse files
committed
add 'amount' unit type
1 parent 7ea88fd commit 7d853bc

26 files changed

+360
-1
lines changed

Gruntfile.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ module.exports = function(grunt) {
3636
{ unit: 'Area', base: 1, relative: 0, symbol: 'm', label: 'meter', prefix: 'Square' },
3737
{ unit: 'Volume', base: 1, relative: 0, symbol: 'm', label: 'meter', prefix: 'Cubic' },
3838
{ unit: 'Volume', base: 1, relative: 1, symbol: 'l', label: 'liter', prefix: '' },
39+
{ unit: 'Amount', base: 1, relative: 1, symbol: 'mol', label: 'mole', prefix: '' },
3940
];
4041
phpTemplate = `<?php
4142
namespace PhpUnitConversion\\Unit\\<%= unit %>;
@@ -73,7 +74,7 @@ class <%= baseUnitPrefix %><%= prefixSI %><%= baseUnit %> extends <%= baseUnitPr
7374
extraUses = ' use HasRelativeFactor;\n\n';
7475
}
7576

76-
if(true||!grunt.file.exists(phpFileName)) {
77+
if(units[u].force || !grunt.file.exists(phpFileName)) {
7778
console.log(phpFileName);
7879
grunt.file.write(phpFileName,
7980
grunt.template.process(phpTemplate, { data: {

src/Unit/Amount.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
namespace PhpUnitConversion\Unit;
3+
4+
use PhpUnitConversion\Unit;
5+
use PhpUnitConversion\UnitType;
6+
7+
class Amount extends Unit
8+
{
9+
const TYPE = UnitType::AMOUNT;
10+
11+
const BASE_UNIT = Amount\Quantity::class;
12+
}

src/Unit/Amount/AttoMole.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
namespace PhpUnitConversion\Unit\Amount;
3+
4+
use PhpUnitConversion\System\Metric;
5+
use PhpUnitConversion\Traits\HasRelativeFactor;
6+
7+
class AttoMole extends Mole implements Metric
8+
{
9+
use HasRelativeFactor;
10+
11+
const FACTOR = 1E-18;
12+
13+
const SYMBOL = 'amol';
14+
const LABEL = 'attomole';
15+
}

src/Unit/Amount/CentiMole.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
namespace PhpUnitConversion\Unit\Amount;
3+
4+
use PhpUnitConversion\System\Metric;
5+
use PhpUnitConversion\Traits\HasRelativeFactor;
6+
7+
class CentiMole extends Mole implements Metric
8+
{
9+
use HasRelativeFactor;
10+
11+
const FACTOR = 1E-2;
12+
13+
const SYMBOL = 'cmol';
14+
const LABEL = 'centimole';
15+
}

src/Unit/Amount/DecaMole.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
namespace PhpUnitConversion\Unit\Amount;
3+
4+
use PhpUnitConversion\System\Metric;
5+
use PhpUnitConversion\Traits\HasRelativeFactor;
6+
7+
class DecaMole extends Mole implements Metric
8+
{
9+
use HasRelativeFactor;
10+
11+
const FACTOR = 1E1;
12+
13+
const SYMBOL = 'damol';
14+
const LABEL = 'decamole';
15+
}

src/Unit/Amount/DeciMole.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
namespace PhpUnitConversion\Unit\Amount;
3+
4+
use PhpUnitConversion\System\Metric;
5+
use PhpUnitConversion\Traits\HasRelativeFactor;
6+
7+
class DeciMole extends Mole implements Metric
8+
{
9+
use HasRelativeFactor;
10+
11+
const FACTOR = 1E-1;
12+
13+
const SYMBOL = 'dmol';
14+
const LABEL = 'decimole';
15+
}

src/Unit/Amount/ExaMole.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
namespace PhpUnitConversion\Unit\Amount;
3+
4+
use PhpUnitConversion\System\Metric;
5+
use PhpUnitConversion\Traits\HasRelativeFactor;
6+
7+
class ExaMole extends Mole implements Metric
8+
{
9+
use HasRelativeFactor;
10+
11+
const FACTOR = 1E18;
12+
13+
const SYMBOL = 'Emol';
14+
const LABEL = 'examole';
15+
}

src/Unit/Amount/FemtoMole.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
namespace PhpUnitConversion\Unit\Amount;
3+
4+
use PhpUnitConversion\System\Metric;
5+
use PhpUnitConversion\Traits\HasRelativeFactor;
6+
7+
class FemtoMole extends Mole implements Metric
8+
{
9+
use HasRelativeFactor;
10+
11+
const FACTOR = 1E-15;
12+
13+
const SYMBOL = 'fmol';
14+
const LABEL = 'femtomole';
15+
}

src/Unit/Amount/GigaMole.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
namespace PhpUnitConversion\Unit\Amount;
3+
4+
use PhpUnitConversion\System\Metric;
5+
use PhpUnitConversion\Traits\HasRelativeFactor;
6+
7+
class GigaMole extends Mole implements Metric
8+
{
9+
use HasRelativeFactor;
10+
11+
const FACTOR = 1E9;
12+
13+
const SYMBOL = 'Gmol';
14+
const LABEL = 'gigamole';
15+
}

src/Unit/Amount/HectoMole.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
namespace PhpUnitConversion\Unit\Amount;
3+
4+
use PhpUnitConversion\System\Metric;
5+
use PhpUnitConversion\Traits\HasRelativeFactor;
6+
7+
class HectoMole extends Mole implements Metric
8+
{
9+
use HasRelativeFactor;
10+
11+
const FACTOR = 1E2;
12+
13+
const SYMBOL = 'hmol';
14+
const LABEL = 'hectomole';
15+
}

0 commit comments

Comments
 (0)