From 49148421cb4d802116fe6cbd74a5295ef4eedc29 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Fri, 27 Jan 2023 10:58:55 +0100 Subject: [PATCH] Migrates tests to use UnitOfSpeed enum (#86777) --- tests/helpers/test_template.py | 4 ++-- tests/util/test_speed.py | 41 +++++++++++++++++++++------------- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/tests/helpers/test_template.py b/tests/helpers/test_template.py index 3d1768372a7..85be02f2717 100644 --- a/tests/helpers/test_template.py +++ b/tests/helpers/test_template.py @@ -21,10 +21,10 @@ from homeassistant.const import ( LENGTH_MILLIMETERS, MASS_GRAMS, PRESSURE_PA, - SPEED_KILOMETERS_PER_HOUR, STATE_ON, TEMP_CELSIUS, VOLUME_LITERS, + UnitOfSpeed, ) from homeassistant.core import HomeAssistant from homeassistant.exceptions import TemplateError @@ -55,7 +55,7 @@ def _set_up_units(hass: HomeAssistant) -> None: pressure=PRESSURE_PA, temperature=TEMP_CELSIUS, volume=VOLUME_LITERS, - wind_speed=SPEED_KILOMETERS_PER_HOUR, + wind_speed=UnitOfSpeed.KILOMETERS_PER_HOUR, ) diff --git a/tests/util/test_speed.py b/tests/util/test_speed.py index 55458899911..c44d79b21dc 100644 --- a/tests/util/test_speed.py +++ b/tests/util/test_speed.py @@ -2,20 +2,16 @@ import pytest from homeassistant.const import ( - SPEED_FEET_PER_SECOND, SPEED_INCHES_PER_DAY, SPEED_INCHES_PER_HOUR, - SPEED_KILOMETERS_PER_HOUR, - SPEED_KNOTS, - SPEED_METERS_PER_SECOND, - SPEED_MILES_PER_HOUR, SPEED_MILLIMETERS_PER_DAY, + UnitOfSpeed, ) from homeassistant.exceptions import HomeAssistantError import homeassistant.util.speed as speed_util INVALID_SYMBOL = "bob" -VALID_SYMBOL = SPEED_KILOMETERS_PER_HOUR +VALID_SYMBOL = UnitOfSpeed.KILOMETERS_PER_HOUR def test_raise_deprecation_warning(caplog: pytest.LogCaptureFixture) -> None: @@ -29,10 +25,21 @@ def test_convert_same_unit(): assert speed_util.convert(2, SPEED_INCHES_PER_DAY, SPEED_INCHES_PER_DAY) == 2 assert speed_util.convert(3, SPEED_INCHES_PER_HOUR, SPEED_INCHES_PER_HOUR) == 3 assert ( - speed_util.convert(4, SPEED_KILOMETERS_PER_HOUR, SPEED_KILOMETERS_PER_HOUR) == 4 + speed_util.convert( + 4, UnitOfSpeed.KILOMETERS_PER_HOUR, UnitOfSpeed.KILOMETERS_PER_HOUR + ) + == 4 + ) + assert ( + speed_util.convert( + 5, UnitOfSpeed.METERS_PER_SECOND, UnitOfSpeed.METERS_PER_SECOND + ) + == 5 + ) + assert ( + speed_util.convert(6, UnitOfSpeed.MILES_PER_HOUR, UnitOfSpeed.MILES_PER_HOUR) + == 6 ) - assert speed_util.convert(5, SPEED_METERS_PER_SECOND, SPEED_METERS_PER_SECOND) == 5 - assert speed_util.convert(6, SPEED_MILES_PER_HOUR, SPEED_MILES_PER_HOUR) == 6 assert ( speed_util.convert(7, SPEED_MILLIMETERS_PER_DAY, SPEED_MILLIMETERS_PER_DAY) == 7 ) @@ -50,16 +57,18 @@ def test_convert_invalid_unit(): def test_convert_nonnumeric_value(): """Test exception is thrown for nonnumeric type.""" with pytest.raises(TypeError): - speed_util.convert("a", SPEED_KILOMETERS_PER_HOUR, SPEED_MILES_PER_HOUR) + speed_util.convert( + "a", UnitOfSpeed.KILOMETERS_PER_HOUR, UnitOfSpeed.MILES_PER_HOUR + ) @pytest.mark.parametrize( "from_value, from_unit, expected, to_unit", [ # 5 km/h / 1.609 km/mi = 3.10686 mi/h - (5, SPEED_KILOMETERS_PER_HOUR, 3.10686, SPEED_MILES_PER_HOUR), + (5, UnitOfSpeed.KILOMETERS_PER_HOUR, 3.10686, UnitOfSpeed.MILES_PER_HOUR), # 5 mi/h * 1.609 km/mi = 8.04672 km/h - (5, SPEED_MILES_PER_HOUR, 8.04672, SPEED_KILOMETERS_PER_HOUR), + (5, UnitOfSpeed.MILES_PER_HOUR, 8.04672, UnitOfSpeed.KILOMETERS_PER_HOUR), # 5 in/day * 25.4 mm/in = 127 mm/day (5, SPEED_INCHES_PER_DAY, 127, SPEED_MILLIMETERS_PER_DAY), # 5 mm/day / 25.4 mm/in = 0.19685 in/day @@ -67,13 +76,13 @@ def test_convert_nonnumeric_value(): # 5 in/hr * 24 hr/day = 3048 mm/day (5, SPEED_INCHES_PER_HOUR, 3048, SPEED_MILLIMETERS_PER_DAY), # 5 m/s * 39.3701 in/m * 3600 s/hr = 708661 - (5, SPEED_METERS_PER_SECOND, 708661, SPEED_INCHES_PER_HOUR), + (5, UnitOfSpeed.METERS_PER_SECOND, 708661, SPEED_INCHES_PER_HOUR), # 5000 in/h / 39.3701 in/m / 3600 s/h = 0.03528 m/s - (5000, SPEED_INCHES_PER_HOUR, 0.03528, SPEED_METERS_PER_SECOND), + (5000, SPEED_INCHES_PER_HOUR, 0.03528, UnitOfSpeed.METERS_PER_SECOND), # 5 kt * 1852 m/nmi / 3600 s/h = 2.5722 m/s - (5, SPEED_KNOTS, 2.5722, SPEED_METERS_PER_SECOND), + (5, UnitOfSpeed.KNOTS, 2.5722, UnitOfSpeed.METERS_PER_SECOND), # 5 ft/s * 0.3048 m/ft = 1.524 m/s - (5, SPEED_FEET_PER_SECOND, 1.524, SPEED_METERS_PER_SECOND), + (5, UnitOfSpeed.FEET_PER_SECOND, 1.524, UnitOfSpeed.METERS_PER_SECOND), ], ) def test_convert_different_units(from_value, from_unit, expected, to_unit):