From e95b939488308b5408d47721833212a798fd6643 Mon Sep 17 00:00:00 2001 From: Martin Lange <martin.lange@ufz.de> Date: Thu, 8 Dec 2022 15:40:08 +0100 Subject: [PATCH] add tests for non-numpy data preparation --- src/finam/data/tools.py | 8 -------- tests/data/test_tools.py | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/finam/data/tools.py b/src/finam/data/tools.py index 08273bd0..b5c243ae 100644 --- a/src/finam/data/tools.py +++ b/src/finam/data/tools.py @@ -66,14 +66,6 @@ def prepare(data, info, time_entries=1, force_copy=False, report_conversion=Fals f"Given data has incompatible units. " f"Got {data.units}, expected {units}." ) - if not isinstance(data.magnitude, np.ndarray): - if force_copy: - data = copy.copy(data.magnitude) - else: - data = data.magnitude - - data = UNITS.Quantity(np.asarray(data), data.units) - if not equivalent_units(data.units, units): units_converted = data.units, units data = data.to(units) diff --git a/tests/data/test_tools.py b/tests/data/test_tools.py index e9bf0663..7443778b 100644 --- a/tests/data/test_tools.py +++ b/tests/data/test_tools.py @@ -134,6 +134,14 @@ class TestDataTools(unittest.TestCase): ) self.assertEqual((1, 2, 2), data.shape) + data = finam.data.prepare( + finam.UNITS.Quantity(1.0, "m"), + finam.Info(time, grid=finam.NoGrid(), units="m"), + ) + + self.assertEqual((1,), data.shape) + self.assertEqual(finam.UNITS.meter, data.units) + with self.assertRaises(finam.errors.FinamDataError): finam.data.prepare( np.asarray([1, 2]), finam.Info(time, grid=finam.NoGrid()) @@ -192,6 +200,13 @@ class TestDataTools(unittest.TestCase): xdata[0, 0] = 0 * finam.UNITS("m") self.assertNotEqual(finam.data.get_magnitude(xdata2[0, 0]), 0.0) + data = [1.0] + xdata2 = finam.data.prepare(data, info_1, force_copy=True) + self.assertEqual(1.0 * finam.UNITS.meter, xdata2[0]) + + xdata2[0, 0] = 0 * finam.UNITS("m") + self.assertNotEqual(0.0, data[0]) + def test_assert_type(self): finam.data.assert_type(self, "A", 1, [int, float]) -- GitLab