Skip to content

Commit 269d81e

Browse files
authored
Merge pull request python-quantities#186 from scidash/master
Fixed non-list tolist() bug
2 parents 2043891 + 8954c94 commit 269d81e

File tree

3 files changed

+12
-10
lines changed

3 files changed

+12
-10
lines changed

quantities/quantity.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,10 @@ def tolist(self):
446446
#first get a dummy array from the ndarray method
447447
work_list = self.magnitude.tolist()
448448
#now go through and replace all numbers with the appropriate Quantity
449-
self._tolist(work_list)
449+
if isinstance(work_list, list):
450+
self._tolist(work_list)
451+
else:
452+
work_list = Quantity(work_list, self.dimensionality)
450453
return work_list
451454

452455
def _tolist(self, work_list):

quantities/tests/test_methods.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ def setUp(self):
99

1010
def test_tolist(self):
1111
self.assertEqual(self.q.tolist(), [[1*pq.m, 2*pq.m], [3*pq.m, 4*pq.m]])
12+
q_singleton = 1 * pq.m
13+
self.assertEqual(q_singleton.tolist(), q_singleton)
1214

1315
def test_sum(self):
1416
self.assertQuantityEqual(self.q.sum(), 10*pq.m)

quantities/tests/test_umath.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -152,15 +152,12 @@ def test_ceil(self):
152152
)
153153

154154
def test_fix(self):
155-
try:
156-
self.assertQuantityEqual(np.fix(3.14 * pq.degF), 3.0 * pq.degF)
157-
self.assertQuantityEqual(np.fix(3.0 * pq.degF), 3.0 * pq.degF)
158-
self.assertQuantityEqual(
159-
np.fix([2.1, 2.9, -2.1, -2.9] * pq.degF),
160-
[2., 2., -2., -2.] * pq.degF
161-
)
162-
except ValueError as e:
163-
raise self.failureException(e)
155+
self.assertQuantityEqual(np.fix(3.14 * pq.degF), 3.0 * pq.degF)
156+
self.assertQuantityEqual(np.fix(3.0 * pq.degF), 3.0 * pq.degF)
157+
self.assertQuantityEqual(
158+
np.fix([2.1, 2.9, -2.1, -2.9] * pq.degF),
159+
[2., 2., -2., -2.] * pq.degF
160+
)
164161

165162
def test_exp(self):
166163
self.assertQuantityEqual(np.exp(1*pq.dimensionless), np.e)

0 commit comments

Comments
 (0)