Add stones to mass units (#83933)
parent
fed308b59d
commit
4a848e8222
|
@ -767,6 +767,7 @@ class UnitOfMass(StrEnum):
|
||||||
MICROGRAMS = "µg"
|
MICROGRAMS = "µg"
|
||||||
OUNCES = "oz"
|
OUNCES = "oz"
|
||||||
POUNDS = "lb"
|
POUNDS = "lb"
|
||||||
|
STONES = "st"
|
||||||
|
|
||||||
|
|
||||||
MASS_GRAMS: Final = "g"
|
MASS_GRAMS: Final = "g"
|
||||||
|
|
|
@ -33,7 +33,8 @@ _DAYS_TO_SECS = 24 * _HRS_TO_SECS # 1 day = 24 hours = 86400 seconds
|
||||||
|
|
||||||
# Mass conversion constants
|
# Mass conversion constants
|
||||||
_POUND_TO_G = 453.59237
|
_POUND_TO_G = 453.59237
|
||||||
_OUNCE_TO_G = _POUND_TO_G / 16
|
_OUNCE_TO_G = _POUND_TO_G / 16 # 16 ounces to a pound
|
||||||
|
_STONE_TO_G = _POUND_TO_G * 14 # 14 pounds to a stone
|
||||||
|
|
||||||
# Pressure conversion constants
|
# Pressure conversion constants
|
||||||
_STANDARD_GRAVITY = 9.80665
|
_STANDARD_GRAVITY = 9.80665
|
||||||
|
@ -143,6 +144,7 @@ class MassConverter(BaseUnitConverter):
|
||||||
UnitOfMass.KILOGRAMS: 1 / 1000,
|
UnitOfMass.KILOGRAMS: 1 / 1000,
|
||||||
UnitOfMass.OUNCES: 1 / _OUNCE_TO_G,
|
UnitOfMass.OUNCES: 1 / _OUNCE_TO_G,
|
||||||
UnitOfMass.POUNDS: 1 / _POUND_TO_G,
|
UnitOfMass.POUNDS: 1 / _POUND_TO_G,
|
||||||
|
UnitOfMass.STONES: 1 / _STONE_TO_G,
|
||||||
}
|
}
|
||||||
VALID_UNITS = {
|
VALID_UNITS = {
|
||||||
UnitOfMass.GRAMS,
|
UnitOfMass.GRAMS,
|
||||||
|
@ -151,6 +153,7 @@ class MassConverter(BaseUnitConverter):
|
||||||
UnitOfMass.MICROGRAMS,
|
UnitOfMass.MICROGRAMS,
|
||||||
UnitOfMass.OUNCES,
|
UnitOfMass.OUNCES,
|
||||||
UnitOfMass.POUNDS,
|
UnitOfMass.POUNDS,
|
||||||
|
UnitOfMass.STONES,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -345,6 +345,11 @@ def test_energy_convert(
|
||||||
(16, UnitOfMass.OUNCES, 453592.37, UnitOfMass.MILLIGRAMS),
|
(16, UnitOfMass.OUNCES, 453592.37, UnitOfMass.MILLIGRAMS),
|
||||||
(16, UnitOfMass.OUNCES, 453592370, UnitOfMass.MICROGRAMS),
|
(16, UnitOfMass.OUNCES, 453592370, UnitOfMass.MICROGRAMS),
|
||||||
(16, UnitOfMass.OUNCES, 1, UnitOfMass.POUNDS),
|
(16, UnitOfMass.OUNCES, 1, UnitOfMass.POUNDS),
|
||||||
|
(1, UnitOfMass.STONES, pytest.approx(6.350293), UnitOfMass.KILOGRAMS),
|
||||||
|
(1, UnitOfMass.STONES, pytest.approx(6350.293), UnitOfMass.GRAMS),
|
||||||
|
(1, UnitOfMass.STONES, pytest.approx(6350293), UnitOfMass.MILLIGRAMS),
|
||||||
|
(1, UnitOfMass.STONES, pytest.approx(14), UnitOfMass.POUNDS),
|
||||||
|
(1, UnitOfMass.STONES, pytest.approx(224), UnitOfMass.OUNCES),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
def test_mass_convert(
|
def test_mass_convert(
|
||||||
|
|
Loading…
Reference in New Issue