Skip to content
Snippets Groups Projects
Commit e95b9394 authored by Martin Lange's avatar Martin Lange
Browse files

add tests for non-numpy data preparation

parent fbb585ec
No related branches found
No related tags found
1 merge request!240More log levels
Pipeline #134936 passed with stages
in 4 minutes and 36 seconds
......@@ -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)
......
......@@ -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])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment