Improved parsing of parameters. Values with unit and ranges get now properly parsed into the Part-DB structures

This commit is contained in:
Jan Böhmer 2024-02-22 23:22:52 +01:00
parent 0bbfaf9893
commit d600cb4b9a
3 changed files with 56 additions and 5 deletions

View file

@ -161,4 +161,20 @@ class ParameterDTOTest extends TestCase
{
$this->assertEquals($expected, ParameterDTO::parseValueIncludingUnit($name, $value, $symbol, $group));
}
public function testSplitIntoValueAndUnit(): void
{
$this->assertEquals(['1.0', 'kg'], ParameterDTO::splitIntoValueAndUnit('1.0 kg'));
$this->assertEquals(['1.0', 'kg'], ParameterDTO::splitIntoValueAndUnit('1.0kg'));
$this->assertEquals(['1', 'kg'], ParameterDTO::splitIntoValueAndUnit('1 kg'));
$this->assertEquals(['1.0', '°C'], ParameterDTO::splitIntoValueAndUnit('1.0°C'));
$this->assertEquals(['1.0', '°C'], ParameterDTO::splitIntoValueAndUnit('1.0 °C'));
$this->assertEquals(['1.0', 'C_m'], ParameterDTO::splitIntoValueAndUnit('1.0C_m'));
$this->assertEquals(["70", ""], ParameterDTO::splitIntoValueAndUnit("70℃"));
$this->assertNull(ParameterDTO::splitIntoValueAndUnit('kg'));
$this->assertNull(ParameterDTO::splitIntoValueAndUnit('Test'));
}
}