mirror of
https://github.com/home-assistant/core.git
synced 2025-12-25 05:26:47 +00:00
Move pressure utility to unit_conversion (#78953)
This commit is contained in:
@@ -7,11 +7,20 @@ from homeassistant.const import (
|
||||
ENERGY_WATT_HOUR,
|
||||
POWER_KILO_WATT,
|
||||
POWER_WATT,
|
||||
PRESSURE_CBAR,
|
||||
PRESSURE_HPA,
|
||||
PRESSURE_INHG,
|
||||
PRESSURE_KPA,
|
||||
PRESSURE_MBAR,
|
||||
PRESSURE_MMHG,
|
||||
PRESSURE_PA,
|
||||
PRESSURE_PSI,
|
||||
)
|
||||
from homeassistant.util.unit_conversion import (
|
||||
BaseUnitConverter,
|
||||
EnergyConverter,
|
||||
PowerConverter,
|
||||
PressureConverter,
|
||||
)
|
||||
|
||||
INVALID_SYMBOL = "bob"
|
||||
@@ -25,6 +34,14 @@ INVALID_SYMBOL = "bob"
|
||||
(EnergyConverter, ENERGY_MEGA_WATT_HOUR),
|
||||
(PowerConverter, POWER_WATT),
|
||||
(PowerConverter, POWER_KILO_WATT),
|
||||
(PressureConverter, PRESSURE_PA),
|
||||
(PressureConverter, PRESSURE_HPA),
|
||||
(PressureConverter, PRESSURE_MBAR),
|
||||
(PressureConverter, PRESSURE_INHG),
|
||||
(PressureConverter, PRESSURE_KPA),
|
||||
(PressureConverter, PRESSURE_CBAR),
|
||||
(PressureConverter, PRESSURE_MMHG),
|
||||
(PressureConverter, PRESSURE_PSI),
|
||||
],
|
||||
)
|
||||
def test_convert_same_unit(converter: type[BaseUnitConverter], valid_unit: str) -> None:
|
||||
@@ -37,6 +54,7 @@ def test_convert_same_unit(converter: type[BaseUnitConverter], valid_unit: str)
|
||||
[
|
||||
(EnergyConverter, ENERGY_KILO_WATT_HOUR),
|
||||
(PowerConverter, POWER_WATT),
|
||||
(PressureConverter, PRESSURE_PA),
|
||||
],
|
||||
)
|
||||
def test_convert_invalid_unit(
|
||||
@@ -47,7 +65,7 @@ def test_convert_invalid_unit(
|
||||
converter.convert(5, INVALID_SYMBOL, valid_unit)
|
||||
|
||||
with pytest.raises(ValueError):
|
||||
EnergyConverter.convert(5, valid_unit, INVALID_SYMBOL)
|
||||
converter.convert(5, valid_unit, INVALID_SYMBOL)
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
@@ -55,6 +73,7 @@ def test_convert_invalid_unit(
|
||||
[
|
||||
(EnergyConverter, ENERGY_WATT_HOUR, ENERGY_KILO_WATT_HOUR),
|
||||
(PowerConverter, POWER_WATT, POWER_KILO_WATT),
|
||||
(PressureConverter, PRESSURE_HPA, PRESSURE_INHG),
|
||||
],
|
||||
)
|
||||
def test_convert_nonnumeric_value(
|
||||
@@ -76,6 +95,188 @@ def test_convert_nonnumeric_value(
|
||||
(EnergyConverter, 10, ENERGY_MEGA_WATT_HOUR, 10000, ENERGY_KILO_WATT_HOUR),
|
||||
(PowerConverter, 10, POWER_KILO_WATT, 10000, POWER_WATT),
|
||||
(PowerConverter, 10, POWER_WATT, 0.01, POWER_KILO_WATT),
|
||||
(
|
||||
PressureConverter,
|
||||
1000,
|
||||
PRESSURE_HPA,
|
||||
pytest.approx(14.5037743897),
|
||||
PRESSURE_PSI,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
1000,
|
||||
PRESSURE_HPA,
|
||||
pytest.approx(29.5299801647),
|
||||
PRESSURE_INHG,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
1000,
|
||||
PRESSURE_HPA,
|
||||
pytest.approx(100000),
|
||||
PRESSURE_PA,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
1000,
|
||||
PRESSURE_HPA,
|
||||
pytest.approx(100),
|
||||
PRESSURE_KPA,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
1000,
|
||||
PRESSURE_HPA,
|
||||
pytest.approx(1000),
|
||||
PRESSURE_MBAR,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
1000,
|
||||
PRESSURE_HPA,
|
||||
pytest.approx(100),
|
||||
PRESSURE_CBAR,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
100,
|
||||
PRESSURE_KPA,
|
||||
pytest.approx(14.5037743897),
|
||||
PRESSURE_PSI,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
100,
|
||||
PRESSURE_KPA,
|
||||
pytest.approx(29.5299801647),
|
||||
PRESSURE_INHG,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
100,
|
||||
PRESSURE_KPA,
|
||||
pytest.approx(100000),
|
||||
PRESSURE_PA,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
100,
|
||||
PRESSURE_KPA,
|
||||
pytest.approx(1000),
|
||||
PRESSURE_HPA,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
100,
|
||||
PRESSURE_KPA,
|
||||
pytest.approx(1000),
|
||||
PRESSURE_MBAR,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
100,
|
||||
PRESSURE_KPA,
|
||||
pytest.approx(100),
|
||||
PRESSURE_CBAR,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_INHG,
|
||||
pytest.approx(14.7346266155),
|
||||
PRESSURE_PSI,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_INHG,
|
||||
pytest.approx(101.59167),
|
||||
PRESSURE_KPA,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_INHG,
|
||||
pytest.approx(1015.9167),
|
||||
PRESSURE_HPA,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_INHG,
|
||||
pytest.approx(101591.67),
|
||||
PRESSURE_PA,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_INHG,
|
||||
pytest.approx(1015.9167),
|
||||
PRESSURE_MBAR,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_INHG,
|
||||
pytest.approx(101.59167),
|
||||
PRESSURE_CBAR,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_INHG,
|
||||
pytest.approx(762.002),
|
||||
PRESSURE_MMHG,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_MMHG,
|
||||
pytest.approx(0.580102),
|
||||
PRESSURE_PSI,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_MMHG,
|
||||
pytest.approx(3.99966),
|
||||
PRESSURE_KPA,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_MMHG,
|
||||
pytest.approx(39.9966),
|
||||
PRESSURE_HPA,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_MMHG,
|
||||
pytest.approx(3999.66),
|
||||
PRESSURE_PA,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_MMHG,
|
||||
pytest.approx(39.9966),
|
||||
PRESSURE_MBAR,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_MMHG,
|
||||
pytest.approx(3.99966),
|
||||
PRESSURE_CBAR,
|
||||
),
|
||||
(
|
||||
PressureConverter,
|
||||
30,
|
||||
PRESSURE_MMHG,
|
||||
pytest.approx(1.181099),
|
||||
PRESSURE_INHG,
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_convert(
|
||||
|
||||
Reference in New Issue
Block a user