def test_set_attributes(self): obj = CloudnetArray(self.time, 'test_name') meta = MetaData(long_name='the long name', units='g m-3') obj.set_attributes(meta) for key, value in zip(['long_name', 'units'], ['the long name', 'g m-3']): assert hasattr(obj, key) assert getattr(obj, key) == value
def test_set_attributes(self): obj = CloudnetArray(self.time, "test_name") meta = MetaData(long_name="the long name", units="g m-3") obj.set_attributes(meta) for key, value in zip(["long_name", "units"], ["the long name", "g m-3"]): assert hasattr(obj, key) assert getattr(obj, key) == value
def test_rebin_data_2d(self): test_var = self.nc.variables["2d_array"] obj = CloudnetArray(test_var, "test_name") time = np.array([1, 2, 3, 4, 5]) time_new = np.array([2.1, 4.1]) obj.rebin_data(time, time_new) result = np.array([[2.5, 2.5, 2.5, 1], [4.5, 4.5, 4.5, 1]]) assert_array_equal(obj.data, result)
def test_mask_indices(fake_nc_file): nc = netCDF4.Dataset(fake_nc_file) test_var = nc.variables['time'] obj = CloudnetArray(test_var, 'test_name') obj.mask_indices([0, 1]) result = ma.array([0, 1, 2, 3, 4], mask=[1, 1, 0, 0, 0]) assert_array_equal(obj.data.data, result.data) assert_array_equal(obj.data.mask, result.mask)
def test_db2lin(fake_nc_file): nc = netCDF4.Dataset(fake_nc_file) test_var = nc.variables['time'] name, units = 'test_name', 'dB' obj = CloudnetArray(test_var, name, units) obj.db2lin() assert obj.units == '' assert_array_equal(obj.data, utils.db2lin(test_var[:]))
def test_rebin_data(fake_nc_file): nc = netCDF4.Dataset(fake_nc_file) test_var = nc.variables['2d_array'] obj = CloudnetArray(test_var, 'test_name') time = np.array([1, 2, 3, 4, 5]) time_new = np.array([2.1, 4.1]) obj.rebin_data(time, time_new) result = np.array([[2.5, 2.5, 2.5, 1], [4.5, 4.5, 4.5, 1]]) assert_array_equal(obj.data, result)
def test_set_attributes(fake_nc_file): nc = netCDF4.Dataset(fake_nc_file) test_var = nc.variables['time'] obj = CloudnetArray(test_var, 'test_name') meta = MetaData(long_name='the long name', units='g m-3') obj.set_attributes(meta) for key, value in zip(['long_name', 'units'], ['the long name', 'g m-3']): assert hasattr(obj, key) assert getattr(obj, key) == value
def test_get_data(self): name, units = 'test_name', 'm s-1' obj = CloudnetArray(self.time, name, units) assert_array_equal(obj.data, self.time[:]) assert obj.name == name assert obj.units == units assert obj.data_type == 'f4'
def test_get_data(self): name, units = "test_name", "m s-1" obj = CloudnetArray(self.time, name, units) assert_array_equal(obj.data, self.time[:]) assert obj.name == name assert obj.units == units assert obj.data_type == "f4"
def test_get_data(fake_nc_file): nc = netCDF4.Dataset(fake_nc_file) test_var = nc.variables['time'] name, units = 'test_name', 'm s-1' obj = CloudnetArray(test_var, name, units) assert_array_equal(obj.data, test_var[:]) assert obj.name == name assert obj.units == units assert obj.data_type == 'f4'
def test_fetch_attributes(self): obj = CloudnetArray(self.time, 'test_name') obj.attr1 = 'a' obj.attr2 = 'b' obj.attr3 = 'c' result = ['units', 'attr1', 'attr2', 'attr3'] assert obj.fetch_attributes() == result
def test_fetch_attributes(self): obj = CloudnetArray(self.time, "test_name") obj.attr1 = "a" obj.attr2 = "b" obj.attr3 = "c" result = ["units", "attr1", "attr2", "attr3"] assert obj.fetch_attributes() == result
def test_fetch_attributes(fake_nc_file): nc = netCDF4.Dataset(fake_nc_file) test_var = nc.variables['time'] obj = CloudnetArray(test_var, 'test_name') obj.attr1 = 'a' obj.attr2 = 'b' obj.attr3 = 'c' result = ['units', 'attr1', 'attr2', 'attr3'] for attr in obj.fetch_attributes(): assert attr in result
def data_to_cloudnet_arrays(self): for key, array in self.data.items(): self.data[key] = CloudnetArray(array, key)
def test_mask_indices(self): obj = CloudnetArray(self.time, "test_name") obj.mask_indices([0, 1]) result = ma.array([0, 1, 2, 3, 4], mask=[1, 1, 0, 0, 0]) assert_array_equal(obj.data.data, result.data) assert_array_equal(obj.data.mask, result.mask)
def test_db2lin(self): name, units = "test_name", "dB" obj = CloudnetArray(self.time, name, units) obj.db2lin() assert obj.units == "" assert_array_equal(obj.data, utils.db2lin(self.time[:]))
def test_lin2db(self): name, units = "test_name", "m s-1" obj = CloudnetArray(self.time, name, units) obj.lin2db() assert obj.units == "dB" assert_array_equal(obj.data, utils.lin2db(self.time[:]))
def test_masked_array(): data = ma.array([1.0, 2.0, 3.0], mask=[1, 0, 0]) obj = CloudnetArray(data, "test") assert_array_equal(obj.data.data, data.data) assert_array_equal(obj.data.mask, data.mask) assert obj.data_type == "f4"
def test_bad_input(): with pytest.raises(ValueError): CloudnetArray((1, 2, 3), "bad_input") with pytest.raises(ValueError): CloudnetArray([1, 2, 3], "bad_input")
def test_different_inputs(array, expected_data, expected_dtype): obj = CloudnetArray(array, "test") assert obj.data_type == expected_dtype assert obj.data == expected_data assert isinstance(obj.data, np.ndarray)
def test_lin2db(self): name, units = 'test_name', 'm s-1' obj = CloudnetArray(self.time, name, units) obj.lin2db() assert obj.units == 'dB' assert_array_equal(obj.data, utils.lin2db(self.time[:]))
def test_db2lin(self): name, units = 'test_name', 'dB' obj = CloudnetArray(self.time, name, units) obj.db2lin() assert obj.units == '' assert_array_equal(obj.data, utils.db2lin(self.time[:]))