예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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)
예제 #4
0
 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)
예제 #5
0
 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)
예제 #6
0
 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)
예제 #7
0
 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)
예제 #8
0
 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)
예제 #9
0
 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)
예제 #10
0
 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)
예제 #11
0
 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)
예제 #12
0
 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)
예제 #13
0
 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)
예제 #14
0
 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)
예제 #15
0
 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)
예제 #16
0
 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)
예제 #17
0
 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)
예제 #18
0
 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)