def test_real_with_real__realised_dtype_failure(self): dm = DataManager(self.real_array) emsg = 'Cannot set realised dtype, no lazy data is available.' with self.assertRaisesRegexp(ValueError, emsg): dm.replace(self.real_array * 10, realised_dtype=np.dtype('int16')) self.assertIs(dm._real_array, self.real_array) self.assertArrayEqual(dm.data, self.real_array)
def test_real_with_real(self): dm = DataManager(self.real_array * 10) self.assertFalse(dm.has_lazy_data()) dm.replace(self.real_array) self.assertFalse(dm.has_lazy_data()) self.assertIs(dm._real_array, self.real_array) self.assertIs(dm.data, self.real_array)
def test__clear_fill_value_masked(self): fill_value = 1234 dm = DataManager(np.array(0), fill_value=fill_value) self.assertEqual(dm.fill_value, fill_value) data = ma.masked_array(1, fill_value=4321) dm.replace(data) self.assertIsNone(dm.fill_value)
def test_real_with_real__promote_shape_with_dtype_failure(self): data = np.array(666) dm = DataManager(data) emsg = 'Cannot set realised dtype, no lazy data is available' with self.assertRaisesRegexp(ValueError, emsg): dm.replace(np.array([999]), realised_dtype=np.dtype('float32')) self.assertArrayEqual(dm.data, data)
def test_lazy_with_lazy(self): lazy_array = as_lazy_data(self.real_array) dm = DataManager(lazy_array * 10) self.assertTrue(dm.has_lazy_data()) dm.replace(lazy_array) self.assertTrue(dm.has_lazy_data()) self.assertIs(dm._lazy_array, lazy_array) self.assertArrayEqual(dm.data, self.real_array)
def test_real_with_lazy__realised_dtype_setter_none(self): mask_array = ma.masked_array(self.real_array) * 10 dtype = mask_array.dtype lazy_array = as_lazy_data(mask_array) dm = DataManager(self.real_array) self.assertFalse(dm.has_lazy_data()) self.assertIsNone(dm._realised_dtype) self.assertEqual(dm.dtype, dtype) dm.replace(lazy_array, realised_dtype=dtype) self.assertTrue(dm.has_lazy_data()) self.assertIsNone(dm._realised_dtype) self.assertEqual(dm.dtype, dtype) self.assertIs(dm._lazy_array, lazy_array) self.assertArrayEqual(dm.data, mask_array)
def test_lazy_with_real__realised_dtype_none(self): mask_array = ma.arange(self.size).reshape(self.shape) dtype = mask_array.dtype lazy_array = as_lazy_data(mask_array) dm = DataManager(lazy_array, realised_dtype=dtype) self.assertTrue(dm.has_lazy_data()) self.assertIsNone(dm._realised_dtype, dtype) self.assertEqual(dm.dtype, dtype) dm.replace(mask_array) self.assertFalse(dm.has_lazy_data()) self.assertIsNone(dm._realised_dtype) self.assertEqual(dm.dtype, dtype) self.assertIs(dm._real_array, mask_array) self.assertIs(dm.data, mask_array)
def test__set_fill_value_failure(self): dm = DataManager(np.array(0)) self.assertIsNone(dm.fill_value) emsg = 'Fill value of .* invalid for dtype' with self.assertRaisesRegexp(ValueError, emsg): dm.replace(np.array(1), fill_value=1e+20)
def test__set_fill_value(self): fill_value = 1234 dm = DataManager(np.array(0)) self.assertIsNone(dm.fill_value) dm.replace(np.array(0), fill_value=fill_value) self.assertEqual(dm.fill_value, fill_value)