From 15b4d246222886f8e2e4424271ff515aa14acae2 Mon Sep 17 00:00:00 2001 From: zm711 <92116279+zm711@users.noreply.github.com> Date: Mon, 16 Sep 2024 17:14:04 -0400 Subject: [PATCH 1/2] fix bug discover in neo ci --- quantities/registry.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/quantities/registry.py b/quantities/registry.py index 4d6a081..5c8fc50 100644 --- a/quantities/registry.py +++ b/quantities/registry.py @@ -23,6 +23,8 @@ 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") From efc67d99ca88330e6a6ba069c58f1c6648491d2c Mon Sep 17 00:00:00 2001 From: zm711 <92116279+zm711@users.noreply.github.com> Date: Mon, 30 Sep 2024 16:38:00 -0400 Subject: [PATCH 2/2] add test for `min` problem and add comments --- quantities/registry.py | 2 +- quantities/tests/test_arithmetic.py | 6 ++++++ quantities/tests/test_conversion.py | 4 ++++ quantities/units/time.py | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/quantities/registry.py b/quantities/registry.py index 5c8fc50..4f9f3c7 100644 --- a/quantities/registry.py +++ b/quantities/registry.py @@ -27,7 +27,7 @@ def __getitem__(self, string): 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,
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: