TemperatureTest.php in Physical Fields 8
File
tests/src/Unit/TemperatureTest.php
View source
<?php
namespace Drupal\Tests\physical\Unit;
use Drupal\physical\Temperature;
use Drupal\Tests\UnitTestCase;
class TemperatureTest extends UnitTestCase {
protected $temperatureKelvin;
protected $temperatureCelsius;
protected $temperatureFahrenheit;
public function setUp() {
parent::setUp();
$this->temperatureKelvin = new Temperature('504', 'K');
$this->temperatureCelsius = new Temperature('0', 'C');
$this->temperatureFahrenheit = new Temperature('65', 'F');
}
public function testInvalidUnit() {
$this
->expectException(\InvalidArgumentException::class);
$temperature = new Temperature('10', 'mm');
}
public function testConvert() {
$this
->assertEquals(new Temperature('230.85', 'C'), $this->temperatureKelvin
->convert('C')
->round(2));
$this
->assertEquals(new Temperature('447.53', 'F'), $this->temperatureKelvin
->convert('F')
->round(2));
$this
->assertEquals(new Temperature('32', 'F'), $this->temperatureCelsius
->convert('F')
->round());
$this
->assertEquals(new Temperature('273.15', 'K'), $this->temperatureCelsius
->convert('K')
->round(2));
$this
->assertEquals(new Temperature('18', 'C'), $this->temperatureFahrenheit
->convert('C')
->round());
$this
->assertEquals(new Temperature('291.48', 'K'), $this->temperatureFahrenheit
->convert('K')
->round(2));
}
}