diff --git a/src/pydase/units.py b/src/pydase/units.py index a961a29..6f93949 100644 --- a/src/pydase/units.py +++ b/src/pydase/units.py @@ -2,7 +2,7 @@ from typing import TypedDict import pint -units: pint.UnitRegistry = pint.UnitRegistry() +units: pint.UnitRegistry = pint.UnitRegistry(autoconvert_offset_to_baseunit=True) units.default_format = "~P" # pretty and short format Quantity = pint.Quantity diff --git a/tests/test_units.py b/tests/test_units.py index 0004ab2..55b6aa3 100644 --- a/tests/test_units.py +++ b/tests/test_units.py @@ -113,3 +113,14 @@ def test_update_DataService_attribute(capsys: CaptureFixture) -> None: ) actual_output = sorted(captured.out.strip().split("\n")) # type: ignore assert actual_output == expected_output + + +def test_autoconvert_offset_to_baseunit() -> None: + import pint + + assert u.units.autoconvert_offset_to_baseunit is True + + try: + quantity = 10 * u.units.degC + except pint.errors.OffsetUnitCalculusError as exc: + assert False, f"Offset unit raises exception {exc}"