From e2adfc092178c197fb7c54145ebfb93b8961dd21 Mon Sep 17 00:00:00 2001 From: Maximos Nikiforakis Date: Tue, 19 Mar 2024 08:27:47 +0200 Subject: [PATCH] Rename TemperatureUnit to RelativeTemperatureUnit --- src/property_utils/properties/property.py | 38 +++++++++---------- .../tests/units/test_converters.py | 26 ++++++------- src/property_utils/units/aliases.py | 4 +- src/property_utils/units/converters.py | 32 ++++++++-------- src/property_utils/units/units.py | 6 +-- 5 files changed, 53 insertions(+), 53 deletions(-) diff --git a/src/property_utils/properties/property.py b/src/property_utils/properties/property.py index 0f1b202..088cbdb 100644 --- a/src/property_utils/properties/property.py +++ b/src/property_utils/properties/property.py @@ -106,8 +106,8 @@ def to_si(self) -> Self: Raises `InvalidUnitConversion` if any error occurs in the unit conversion. - >>> from property_utils.units.units import TemperatureUnit - >>> T = Property(100, TemperatureUnit.CELCIUS) + >>> from property_utils.units.units import RelativeTemperatureUnit + >>> T = Property(100, RelativeTemperatureUnit.CELCIUS) >>> T.to_si() """ @@ -132,9 +132,9 @@ def to_unit(self, unit: UnitDescriptor) -> Self: Raises `UnitConversionError` if any error occurs in the unit conversion. - >>> from property_utils.units.units import TemperatureUnit - >>> T = Property(100, TemperatureUnit.CELCIUS) - >>> T.to_unit(TemperatureUnit.FAHRENHEIT) + >>> from property_utils.units.units import RelativeTemperatureUnit + >>> T = Property(100, RelativeTemperatureUnit.CELCIUS) + >>> T.to_unit(RelativeTemperatureUnit.FAHRENHEIT) """ if not unit.isinstance(self.unit.to_generic()): @@ -160,8 +160,8 @@ def __neg__(self) -> Self: """ Defines negation of properties. - >>> from property_utils.units.units import TemperatureUnit - >>> T = Property(3, TemperatureUnit.CELCIUS) + >>> from property_utils.units.units import RelativeTemperatureUnit + >>> T = Property(3, RelativeTemperatureUnit.CELCIUS) >>> -T """ @@ -437,9 +437,9 @@ def __gt__(self, other) -> bool: """ Defines comparison between properties. - >>> from property_utils.units.units import TemperatureUnit - >>> T1 = Property(100, TemperatureUnit.CELCIUS) - >>> T2 = Property(213, TemperatureUnit.FAHRENHEIT) + >>> from property_utils.units.units import RelativeTemperatureUnit + >>> T1 = Property(100, RelativeTemperatureUnit.CELCIUS) + >>> T2 = Property(213, RelativeTemperatureUnit.FAHRENHEIT) >>> T1 > T2 False """ @@ -462,9 +462,9 @@ def __ge__(self, other) -> bool: """ Defines comparison between properties. - >>> from property_utils.units.units import TemperatureUnit - >>> T1 = Property(100, TemperatureUnit.CELCIUS) - >>> T2 = Property(212, TemperatureUnit.FAHRENHEIT) + >>> from property_utils.units.units import RelativeTemperatureUnit + >>> T1 = Property(100, RelativeTemperatureUnit.CELCIUS) + >>> T2 = Property(212, RelativeTemperatureUnit.FAHRENHEIT) >>> T1 >= T2 True """ @@ -487,9 +487,9 @@ def __lt__(self, other) -> bool: """ Defines comparison between properties. - >>> from property_utils.units.units import TemperatureUnit - >>> T1 = Property(100, TemperatureUnit.CELCIUS) - >>> T2 = Property(213, TemperatureUnit.FAHRENHEIT) + >>> from property_utils.units.units import RelativeTemperatureUnit + >>> T1 = Property(100, RelativeTemperatureUnit.CELCIUS) + >>> T2 = Property(213, RelativeTemperatureUnit.FAHRENHEIT) >>> T1 < T2 True """ @@ -512,9 +512,9 @@ def __le__(self, other) -> bool: """ Defines comparison between properties. - >>> from property_utils.units.units import TemperatureUnit - >>> T1 = Property(100, TemperatureUnit.CELCIUS) - >>> T2 = Property(213, TemperatureUnit.FAHRENHEIT) + >>> from property_utils.units.units import RelativeTemperatureUnit + >>> T1 = Property(100, RelativeTemperatureUnit.CELCIUS) + >>> T2 = Property(213, RelativeTemperatureUnit.FAHRENHEIT) >>> T1 <= T2 True """ diff --git a/src/property_utils/tests/units/test_converters.py b/src/property_utils/tests/units/test_converters.py index eae0b64..c0a75a0 100644 --- a/src/property_utils/tests/units/test_converters.py +++ b/src/property_utils/tests/units/test_converters.py @@ -3,7 +3,7 @@ from unittest_extensions import TestCase, args from property_utils.units.units import ( - TemperatureUnit, + RelativeTemperatureUnit, AbsoluteTemperatureUnit, LengthUnit, MassUnit, @@ -16,7 +16,7 @@ PowerUnit, ) from property_utils.units.converters import ( - TemperatureUnitConverter, + RelativeTemperatureUnitConverter, AbsoluteTemperatureUnitConverter, LengthUnitConverter, MassUnitConverter, @@ -56,15 +56,15 @@ @add_to(TemperatureUnitConverter_test_suite) class TestTemperatureUnitConverterConvertToReference(TestCase): def subject(self, value, from_descriptor): - return TemperatureUnitConverter.convert( - value, from_descriptor, TemperatureUnit.CELCIUS + return RelativeTemperatureUnitConverter.convert( + value, from_descriptor, RelativeTemperatureUnit.CELCIUS ) @args({"value": 300, "from_descriptor": AbsoluteTemperatureUnit.KELVIN}) def test_from_kelvin(self): self.assertResultAlmost(26.85, 2) - @args({"value": 289.23, "from_descriptor": TemperatureUnit.FAHRENHEIT}) + @args({"value": 289.23, "from_descriptor": RelativeTemperatureUnit.FAHRENHEIT}) def test_from_fahrenheit(self): self.assertResultAlmost(142.905, 2) @@ -84,11 +84,11 @@ def test_with_invalid_value(self): @add_to(TemperatureUnitConverter_test_suite) class TestTemperatureUnitConverterConvertFromReference(TestCase): def subject(self, value, to_descriptor): - return TemperatureUnitConverter.convert( - value, TemperatureUnit.CELCIUS, to_descriptor + return RelativeTemperatureUnitConverter.convert( + value, RelativeTemperatureUnit.CELCIUS, to_descriptor ) - @args({"value": 100, "to_descriptor": TemperatureUnit.CELCIUS}) + @args({"value": 100, "to_descriptor": RelativeTemperatureUnit.CELCIUS}) def test_to_celcius(self): self.assertResult(100) @@ -96,7 +96,7 @@ def test_to_celcius(self): def test_to_kelvin(self): self.assertResult(283.15) - @args({"value": 100, "to_descriptor": TemperatureUnit.FAHRENHEIT}) + @args({"value": 100, "to_descriptor": RelativeTemperatureUnit.FAHRENHEIT}) def test_to_fahrenheit(self): self.assertResult(212) @@ -124,11 +124,11 @@ def test_from_kelvin(self): def test_from_rankine(self): self.assertResultAlmost(450 / 1.8) - @args({"value": 25, "from_descriptor": TemperatureUnit.CELCIUS}) + @args({"value": 25, "from_descriptor": RelativeTemperatureUnit.CELCIUS}) def test_from_celcius(self): self.assertResult(298.15) - @args({"value": 212, "from_descriptor": TemperatureUnit.FAHRENHEIT}) + @args({"value": 212, "from_descriptor": RelativeTemperatureUnit.FAHRENHEIT}) def test_from_fahrenheit(self): self.assertResultAlmost(373.15) @@ -148,11 +148,11 @@ def test_to_kelvin(self): def test_to_rankine(self): self.assertResult(200.50 * 1.8) - @args({"value": 10.5, "to_descriptor": TemperatureUnit.CELCIUS}) + @args({"value": 10.5, "to_descriptor": RelativeTemperatureUnit.CELCIUS}) def test_to_celcius(self): self.assertResult(-262.65) - @args({"value": 400, "to_descriptor": TemperatureUnit.FAHRENHEIT}) + @args({"value": 400, "to_descriptor": RelativeTemperatureUnit.FAHRENHEIT}) def test_to_fahrenheit(self): self.assertResultAlmost(260.33) diff --git a/src/property_utils/units/aliases.py b/src/property_utils/units/aliases.py index a827bdb..6bba597 100644 --- a/src/property_utils/units/aliases.py +++ b/src/property_utils/units/aliases.py @@ -2,9 +2,9 @@ from property_utils.units.units import * NON_DIMENSIONAL = NonDimensionalUnit.NON_DIMENSIONAL -CELCIUS = TemperatureUnit.CELCIUS +CELCIUS = RelativeTemperatureUnit.CELCIUS KELVIN = AbsoluteTemperatureUnit.KELVIN -FAHRENHEIT = TemperatureUnit.FAHRENHEIT +FAHRENHEIT = RelativeTemperatureUnit.FAHRENHEIT RANKINE = AbsoluteTemperatureUnit.RANKINE MILLI_METER = LengthUnit.MILLI_METER CENTI_METER = LengthUnit.CENTI_METER diff --git a/src/property_utils/units/converters.py b/src/property_utils/units/converters.py index acd6390..0127ea9 100644 --- a/src/property_utils/units/converters.py +++ b/src/property_utils/units/converters.py @@ -6,14 +6,14 @@ from enum import Enum try: - from typing import override # Python < 3.12 + from typing import override # Python >= 3.12 except ImportError: - from typing_extensions import override # Python >= 3.12 + from typing_extensions import override # Python < 3.12 from property_utils.units.descriptors import UnitDescriptor from property_utils.exceptions.units.converter_types import UnitConversionError from property_utils.units.units import ( - TemperatureUnit, + RelativeTemperatureUnit, AbsoluteTemperatureUnit, LengthUnit, MassUnit, @@ -35,7 +35,7 @@ __all__ = [ "UnitPrefix", - "TemperatureUnitConverter", + "RelativeTemperatureUnitConverter", "AbsoluteTemperatureUnitConverter", "LengthUnitConverter", "MassUnitConverter", @@ -87,28 +87,28 @@ def inverse(self) -> float: return 1 / self.value -@register_converter(TemperatureUnit) -class TemperatureUnitConverter( +@register_converter(RelativeTemperatureUnit) +class RelativeTemperatureUnitConverter( RelativeUnitConverter ): # pylint: disable=too-few-public-methods """ Convert temperature units with this converter. - >>> TemperatureUnitConverter.convert(100, TemperatureUnit.CELCIUS, TemperatureUnit.FAHRENHEIT) + >>> RelativeTemperatureUnitConverter.convert(100, RelativeTemperatureUnit.CELCIUS, RelativeTemperatureUnit.FAHRENHEIT) 212.0 """ - reference_unit = TemperatureUnit.CELCIUS + reference_unit = RelativeTemperatureUnit.CELCIUS conversion_map = { - TemperatureUnit.CELCIUS: lambda t: t, + RelativeTemperatureUnit.CELCIUS: lambda t: t, AbsoluteTemperatureUnit.KELVIN: lambda t: t - 273.15, - TemperatureUnit.FAHRENHEIT: lambda t: (t - 32) / 1.8, + RelativeTemperatureUnit.FAHRENHEIT: lambda t: (t - 32) / 1.8, AbsoluteTemperatureUnit.RANKINE: lambda t: (t / 1.8) - 273.15, } reference_conversion_map = { - TemperatureUnit.CELCIUS: lambda t: t, + RelativeTemperatureUnit.CELCIUS: lambda t: t, AbsoluteTemperatureUnit.KELVIN: lambda t: t + 273.15, - TemperatureUnit.FAHRENHEIT: lambda t: (t * 1.8) + 32, + RelativeTemperatureUnit.FAHRENHEIT: lambda t: (t * 1.8) + 32, AbsoluteTemperatureUnit.RANKINE: lambda t: (t + 273.15) * 1.8, } @@ -138,10 +138,10 @@ def convert( ) -> float: if not isinstance(value, (float, int)): raise UnitConversionError(f"invalid 'value': {value}; expected numeric. ") - if from_descriptor.isinstance(TemperatureUnit) or to_descriptor.isinstance( - TemperatureUnit - ): - return TemperatureUnitConverter.convert( + if from_descriptor.isinstance( + RelativeTemperatureUnit + ) or to_descriptor.isinstance(RelativeTemperatureUnit): + return RelativeTemperatureUnitConverter.convert( value, from_descriptor, to_descriptor ) return value * cls.get_factor(from_descriptor, to_descriptor) diff --git a/src/property_utils/units/units.py b/src/property_utils/units/units.py index 6d6c706..470827b 100644 --- a/src/property_utils/units/units.py +++ b/src/property_utils/units/units.py @@ -8,7 +8,7 @@ __all__ = [ "NonDimensionalUnit", - "TemperatureUnit", + "RelativeTemperatureUnit", "AbsoluteTemperatureUnit", "LengthUnit", "MassUnit", @@ -35,7 +35,7 @@ def si(cls) -> "NonDimensionalUnit": return cls.NON_DIMENSIONAL -class TemperatureUnit(MeasurementUnit): +class RelativeTemperatureUnit(MeasurementUnit): CELCIUS = "°C" FAHRENHEIT = "°F" @@ -56,7 +56,7 @@ def si(cls) -> "AbsoluteTemperatureUnit": return cls.KELVIN def isinstance(self, generic: GenericUnitDescriptor) -> bool: - return super().isinstance(generic) or generic == TemperatureUnit + return super().isinstance(generic) or generic == RelativeTemperatureUnit class LengthUnit(MeasurementUnit):