diff --git a/quantities/registry.py b/quantities/registry.py index 4d6a081..4f9f3c7 100644 --- a/quantities/registry.py +++ b/quantities/registry.py @@ -23,9 +23,11 @@ def __getitem__(self, string): all_builtins.remove("bytes") # have to deal with octet as well all_builtins.remove("oct") + # have to remove min which is short for minute + all_builtins.remove("min") for builtin in all_builtins: if builtin in string: - raise RuntimeError(f"String parsing error for {string}. Enter a string accepted by quantities") + raise RuntimeError(f"String parsing error for `{string}`. Enter a string accepted by quantities") try: return eval(string, self.__context) diff --git a/quantities/tests/test_arithmetic.py b/quantities/tests/test_arithmetic.py index e7e5a05..1b6aeeb 100644 --- a/quantities/tests/test_arithmetic.py +++ b/quantities/tests/test_arithmetic.py @@ -226,6 +226,12 @@ def test_addition(self): [1, 2, 3]*pq.hp + [1, 2, 3]*pq.hp, [2, 4, 6]*pq.hp ) + # add in test with 'min' since this caused issues + # see https://github.com/python-quantities/python-quantities/issues/243 + self.assertQuantityEqual( + Quantity(1, 'min') + Quantity(1, 'min'), + 2*pq.min + ) self.assertRaises(ValueError, op.add, pq.kPa, pq.lb) self.assertRaises(ValueError, op.add, pq.kPa, 10) diff --git a/quantities/tests/test_conversion.py b/quantities/tests/test_conversion.py index b0c848c..7ae0384 100644 --- a/quantities/tests/test_conversion.py +++ b/quantities/tests/test_conversion.py @@ -97,6 +97,10 @@ def test_default_system(self): self.assertQuantityEqual(pq.kg.simplified, 1000*pq.g) self.assertQuantityEqual(pq.m.simplified, 1000*pq.mm) + # test a time default as well as mass and weight + pq.set_default_units('SI') + self.assertQuantityEqual(pq.min.simplified, 60*pq.sec) + class TestUnitInformation(TestCase): def test_si(self): diff --git a/quantities/units/time.py b/quantities/units/time.py index f331545..9fa3505 100644 --- a/quantities/units/time.py +++ b/quantities/units/time.py @@ -64,7 +64,7 @@ 60*s, symbol='min', aliases=['minutes'] -) +) # min is function in python h = hr = hour = UnitTime( 'hour', 60*min,