def test_0d(self): x = conventions.MaskedAndScaledArray(np.array(0), fill_value=0) self.assertTrue(np.isnan(x)) self.assertTrue(np.isnan(x[...])) x = conventions.MaskedAndScaledArray(np.array(0), fill_value=10) self.assertEqual(0, x[...])
def test_multiple_fill_value(self): x = conventions.MaskedAndScaledArray(np.arange(4), fill_value=np.array([0, 1])) self.assertArrayEqual([np.nan, np.nan, 2, 3], x) x = conventions.MaskedAndScaledArray(np.array(0), fill_value=np.array([0, 1])) self.assertTrue(np.isnan(x)) self.assertTrue(np.isnan(x[...]))
def test(self): x = conventions.MaskedAndScaledArray(np.arange(3), fill_value=0) self.assertEqual(x.dtype, np.dtype('float')) self.assertEqual(x.shape, (3,)) self.assertEqual(x.size, 3) self.assertEqual(x.ndim, 1) self.assertEqual(len(x), 3) self.assertArrayEqual([np.nan, 1, 2], x) x = conventions.MaskedAndScaledArray(np.arange(3), add_offset=1) self.assertArrayEqual(np.arange(3) + 1, x) x = conventions.MaskedAndScaledArray(np.arange(3), scale_factor=2) self.assertArrayEqual(2 * np.arange(3), x) x = conventions.MaskedAndScaledArray(np.array([-99, -1, 0, 1, 2]), -99, 0.01, 1) expected = np.array([np.nan, 0.99, 1, 1.01, 1.02]) self.assertArrayEqual(expected, x)