test_that("landsat_mask_function arguments work", { skip_on_cran() skip_if_offline() boston <- sf::st_point(c(-71.0610279, 42.361697)) |> sf::st_sfc(crs = 4326) |> sf::st_transform(2249) |> sf::st_buffer(10000) bands <- rsi::landsat_band_mapping$planetary_computer_v1[""] bands[[1]] <- "qa_pixel" names(bands) <- "qa_pixel" boston_landsat <- rsi::get_landsat_imagery( boston, "2022-06-01", "2022-07-01", asset_names = bands, output_filename = tempfile(fileext = ".tif"), mask_function = NULL, mask_band = NULL ) expect_gt( sum(terra::values(landsat_mask_function(terra::rast(boston_landsat)))), sum(terra::values(landsat_mask_function(terra::rast(boston_landsat), "water"))) ) expect_gt( sum(terra::values(landsat_mask_function(terra::rast(boston_landsat), "both"))), sum(terra::values(landsat_mask_function(terra::rast(boston_landsat)))) ) expect_equal( sum(terra::values(landsat_mask_function(terra::rast(boston_landsat), "both"))), sum(terra::values(landsat_mask_function(terra::rast(boston_landsat), c("land", "water")))) ) expect_equal( sum(terra::values(landsat_mask_function(terra::rast(boston_landsat), "both"))), sum( terra::values( landsat_mask_function( terra::rast(boston_landsat), masked_bits = list( clear_land = c(0:5, 7, 9, 11, 13, 15), clear_water = c(0:5, 9, 11, 13, 15) ) ) ) ) ) })