def test_zero_ndim_lazy_to_scalar_1d_real_promote(self): real_array = np.array([456]) dm = DataManager(as_lazy_data(np.array(123))) self.assertTrue(dm.has_lazy_data()) dm.data = real_array self.assertFalse(dm.has_lazy_data()) self.assertArrayEqual(dm.data, real_array)
def test_zero_ndim_lazy_to_scalar_1d_lazy_promote(self): lazy_array = as_lazy_data(np.array([456])) dm = DataManager(as_lazy_data(np.array(123))) self.assertTrue(dm.has_lazy_data()) dm.data = lazy_array self.assertTrue(dm.has_lazy_data()) self.assertArrayEqual(dm.data, lazy_array.compute())
def test_zero_ndim_lazy_with_zero_ndim_lazy(self): lazy_array = as_lazy_data(np.array(456)) dm = DataManager(as_lazy_data(np.array(123))) self.assertTrue(dm.has_lazy_data()) dm.data = lazy_array self.assertTrue(dm.has_lazy_data()) self.assertArrayEqual(dm.data, lazy_array.compute())
def test_zero_ndim_real_with_scalar_float(self): value = 456.0 dm = DataManager(np.array(123)) self.assertFalse(dm.has_lazy_data()) dm.data = value self.assertFalse(dm.has_lazy_data()) self.assertArrayEqual(dm.data, np.array(value))
def test_mask_array__with_fill_value(self): dm = DataManager(np.array(0)) self.assertIsNone(dm.fill_value) fill_value = 1234 data = ma.array(1, fill_value=fill_value) dm.data = data self.assertEqual(dm.fill_value, fill_value)
def test_zero_ndim_lazy_with_zero_ndim_real(self): real_array = np.array(456) dm = DataManager(as_lazy_data(np.array(123))) self.assertTrue(dm.has_lazy_data()) dm.data = real_array self.assertFalse(dm.has_lazy_data()) self.assertArrayEqual(dm.data, real_array)
def test_lazy_array__fill_value_clearance(self): fill_value = 1234 dm = DataManager(as_lazy_data(np.array(0)), fill_value=fill_value) self.assertEqual(dm.fill_value, fill_value) dm.data = as_lazy_data(np.array(1)) self.assertIsNone(dm.fill_value)
def test_nd_real_to_nd_real(self): shape = (2, 3, 4) size = np.prod(shape) real_array = np.arange(size).reshape(shape) dm = DataManager(real_array * 10) self.assertFalse(dm.has_lazy_data()) dm.data = real_array self.assertFalse(dm.has_lazy_data()) self.assertArrayEqual(dm.data, real_array)
def test_coerce_to_ndarray(self): shape = (2, 3) size = np.prod(shape) real_array = np.arange(size).reshape(shape) matrix = np.matrix(real_array) dm = DataManager(real_array) dm.data = matrix self.assertIsInstance(dm._real_array, np.core.ndarray) self.assertIsInstance(dm.data, np.core.ndarray) self.assertArrayEqual(dm.data, real_array)
def test_nd_lazy_to_nd_lazy(self): shape = (2, 3, 4) size = np.prod(shape) real_array = np.arange(size).reshape(shape) lazy_array = as_lazy_data(real_array) dm = DataManager(lazy_array * 10) self.assertTrue(dm.has_lazy_data()) dm.data = lazy_array self.assertTrue(dm.has_lazy_data()) self.assertArrayEqual(dm.data, lazy_array.compute())
def test_realised_dtype_none(self): shape = (2, 3, 4) size = np.prod(shape) mask_array = ma.arange(size).reshape(shape) dtype = mask_array.dtype lazy_array = as_lazy_data(mask_array) dm = DataManager(lazy_array, realised_dtype=dtype) self.assertIsNone(dm._realised_dtype) self.assertEqual(dm.dtype, dtype) dm.data = mask_array self.assertIs(dm.data, mask_array) self.assertIsNone(dm._realised_dtype) self.assertEqual(dm.dtype, dtype)
def test_scalar_1d_to_zero_ndim_fail(self): dm = DataManager(np.array([123])) emsg = 'Require data with shape \(1,\), got \(\).' with self.assertRaisesRegexp(ValueError, emsg): dm.data = 456
def test_mask_array__default_fill_value(self): dm = DataManager(np.array(0)) self.assertIsNone(dm.fill_value) data = ma.array(1) dm.data = data self.assertIsNone(dm.fill_value)
def test_real_array__fill_value_clearance(self): fill_value = 1234 dm = DataManager(np.array(0), fill_value=fill_value) self.assertEqual(dm.fill_value, fill_value) dm.data = np.array(1) self.assertIsNone(dm.fill_value)