diff options
author | Hernan Grecco <hgrecco@gmail.com> | 2023-04-25 01:53:44 -0300 |
---|---|---|
committer | Hernan Grecco <hgrecco@gmail.com> | 2023-04-25 01:53:44 -0300 |
commit | 3d00b29a57ab2234bca3af344f9ee2d8f1f14621 (patch) | |
tree | 9e03f408a017e12f5905e407f69b152ac77975e1 /pint/testsuite/test_quantity.py | |
parent | 70e1b2590bdb7a7e4c0941a0a75c57d78a2ea01b (diff) | |
parent | 6923ea24a099f8f24965762e8ca76f437c723b39 (diff) | |
download | pint-3d00b29a57ab2234bca3af344f9ee2d8f1f14621.tar.gz |
Fixed pr/1574 conflicts
Diffstat (limited to 'pint/testsuite/test_quantity.py')
-rw-r--r-- | pint/testsuite/test_quantity.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/pint/testsuite/test_quantity.py b/pint/testsuite/test_quantity.py index b1f15e5..8fb712a 100644 --- a/pint/testsuite/test_quantity.py +++ b/pint/testsuite/test_quantity.py @@ -369,6 +369,44 @@ class TestQuantity(QuantityTestCase): round(abs(self.Q_("2 second").to("millisecond").magnitude - 2000), 7) == 0 ) + @helpers.requires_mip + def test_to_preferred(self): + ureg = UnitRegistry() + Q_ = ureg.Quantity + + ureg.define("pound_force_per_square_foot = 47.8803 pascals = psf") + ureg.define("pound_mass = 0.45359237 kg = lbm") + + preferred_units = [ + ureg.ft, # distance L + ureg.slug, # mass M + ureg.s, # duration T + ureg.rankine, # temperature Θ + ureg.lbf, # force L M T^-2 + ureg.psf, # pressure M L^−1 T^−2 + ureg.lbm * ureg.ft**-3, # density M L^-3 + ureg.W, # power L^2 M T^-3 + ] + + temp = (Q_("1 lbf") * Q_("1 m/s")).to_preferred(preferred_units) + assert temp.units == ureg.W + + temp = (Q_(" 1 lbf*m")).to_preferred(preferred_units) + # would prefer this to be repeatable, but mip doesn't guarantee that currently + assert temp.units in [ureg.W * ureg.s, ureg.ft * ureg.lbf] + + temp = Q_("1 kg").to_preferred(preferred_units) + assert temp.units == ureg.slug + + result = Q_("1 slug/m**3").to_preferred(preferred_units) + assert result.units == ureg.lbm * ureg.ft**-3 + + result = Q_("1 amp").to_preferred(preferred_units) + assert result.units == ureg.amp + + result = Q_("1 volt").to_preferred(preferred_units) + assert result.units == ureg.volts + @helpers.requires_numpy def test_convert_numpy(self): # Conversions with single units take a different codepath than |