def test_reclassify_int32(source, vals_request): # this will have a high fillvalue that may lead to a MemoryError source_int32 = source * 1 assert source_int32.dtype == np.int32 view = raster.Reclassify(store=source_int32, data=[[7, 1000]]) data = view.get_data(**vals_request) assert_equal(data["values"][:, 0, 0], [1, 1000, data["no_data_value"]])
def test_reclassify_time_request(source, vals_request, expected_time): view = raster.Reclassify(store=source, data=[[7, 1000]]) vals_request["mode"] = "time" assert view.get_data(**vals_request)["time"] == expected_time
def test_reclassify_wrong_mapping_shape(source): with pytest.raises(ValueError): raster.Reclassify(store=source, data=[[[7, 1000]], [1, 100]])
def test_reclassify_float_data(source): with pytest.raises(TypeError): raster.Reclassify(store=source, data=[[7.4, 1000]])
def test_reclassify_float_raster(source): source_float = source / 2 assert source_float.dtype == np.float32 with pytest.raises(TypeError): raster.Reclassify(store=source_float, data=[[7.0, 1000]])
def test_reclassify_bool(source, vals_request): source_bool = source == 7 view = raster.Reclassify(store=source_bool, data=[[True, 1000]]) data = view.get_data(**vals_request) assert_equal(data["values"][:, 0, 0], [0, 1000, 0])
def test_reclassify_to_float(source, vals_request): view = raster.Reclassify(store=source, data=[[7, 8.2]]) data = view.get_data(**vals_request) assert_equal(data["values"][:, 0, 0], [1.0, 8.2, data["no_data_value"]])
def test_reclassify_select(source, vals_request): view = raster.Reclassify(store=source, data=[[7, 1000]], select=True) data = view.get_data(**vals_request) expected = [data["no_data_value"], 1000, data["no_data_value"]] assert_equal(data["values"][:, 0, 0], expected)
def test_reclassify(source, vals_request): view = raster.Reclassify(store=source, data=[[7, 1000]]) data = view.get_data(**vals_request) assert_equal(data["values"][:, 0, 0], [1, 1000, data["no_data_value"]])