def test_cell_stats_some_data_vars(): result_arr = cell_stats( raster_ds[['arr1', 'arr2', 'arr3']], ['arr1', 'arr3'], ) expected_arr = xr.DataArray([[np.nan, 7, 4, 0], [6, 4, np.nan, 2], [11, 2, 4, 2], [1, 3, 3, np.nan]]) assert result_arr.equals(expected_arr)
def test_cell_stats_std(): result_arr = cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], func='std') expected_arr = xr.DataArray([ [np.nan, 1.247219128924647, 0.4714045207910317, 0.9428090415820634], # noqa [0.9428090415820634, 0.9428090415820634, np.nan, 1.8856180831641267], # noqa [ 2.6246692913372702, 0.4714045207910317, 0.9428090415820634, 0.9428090415820634 ], # noqa [np.nan, 1.247219128924647, 0.4714045207910317, np.nan] ]) # noqa assert result_arr.equals(expected_arr)
def test_cell_stats_mean(): result_arr = cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], func='mean') expected_arr = xr.DataArray([ [np.nan, 2.6666666666666665, 1.6666666666666667, 0.6666666666666666], # noqa [3.3333333333333335, 1.6666666666666667, np.nan, 2.3333333333333335], # noqa [ 3.6666666666666665, 0.6666666666666666, 1.3333333333333333, 0.6666666666666666 ], # noqa [np.nan, 1.3333333333333333, 1.3333333333333333, np.nan] ]) # noqa assert result_arr.equals(expected_arr)
def test_cell_stats_min(): result_arr = cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], func='min') expected_arr = xr.DataArray([[np.nan, 1, 1, 0], [2, 1, np.nan, 1], [0, 0, 0, 0], [np.nan, 0, 1, np.nan]]) assert result_arr.equals(expected_arr)
def test_cell_stats_median(): result_arr = cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], func='median') expected_arr = xr.DataArray([[np.nan, 3, 2, 0], [4, 1, np.nan, 1], [5, 1, 2, 0], [np.nan, 1, 1, np.nan]]) assert result_arr.equals(expected_arr)
def test_cell_stats_max(): result_arr = cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], func='max') expected_arr = xr.DataArray([[np.nan, 4, 2, 2], [4, 3, np.nan, 5], [6, 1, 2, 2], [np.nan, 3, 2, np.nan]]) assert result_arr.equals(expected_arr)
def test_cell_stats_all_data_vars(): result_arr = cell_stats(raster_ds[['arr1', 'arr2', 'arr3']]) expected_arr = xr.DataArray([[np.nan, 8, 5, 2], [10, 5, np.nan, 7], [11, 2, 4, 2], [np.nan, 4, 4, np.nan]]) assert result_arr.equals(expected_arr)
def test_cell_stats_wrong_var_name(): with pytest.raises(ValueError): cell_stats( raster_ds[['arr1', 'arr2', 'arr3']], data_vars=['arr1', 'arr9'], )
def test_cell_stats_data_vars_elem_type_error(): with pytest.raises(TypeError): cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], data_vars=[0])
def test_cell_stats_raster_type_error(): with pytest.raises(TypeError): cell_stats(arr1)
def test_cell_stats_wrong_func(): with pytest.raises(ValueError): cell_stats(raster_ds[['arr1', 'arr2', 'arr3']], func='med')