context("test-raster-info")
## too flaky
#skip_on_appveyor()
#skip_on_travis()
skip_on_cran()
#skip("don't do it")
test_that("sds checks work", {
f <- system.file("extdata/gdal/geos_rad.nc", package = "vapour", mustWork = TRUE)
f <- normalizePath(f)
expect_silent(sds_boilerplate_checks(f))
f1 <- system.file("extdata/sst.tif", package = "vapour", mustWork = TRUE)
f1 <- normalizePath(f1)
expect_silent(sds_boilerplate_checks(f1))
fsds <- system.file("extdata/gdal/sds.nc", package = "vapour", mustWork = TRUE)
fsds <- normalizePath(fsds)
expect_error(sds_boilerplate_checks(fsds, "vv"), "sds must be specified by number, starting from 1")
##expect_error(sds_boilerplate_checks(fsds, 0)) ## does not error on windows atm
expect_error(sds_boilerplate_checks(fsds, 0:1))
expect_equal(sds_boilerplate_checks(fsds, 1), sprintf("NETCDF:\"%s\":vv", fsds))
expect_equal(sds_boilerplate_checks(fsds, 2), sprintf("NETCDF:\"%s\":vv2", fsds))
expect_error(sds_boilerplate_checks(fsds, 3), "'sds' must not exceed number of subdatasets \\(2)")
expect_silent(sds_boilerplate_checks(fsds, 1))
})
test_that("raster info works", {
f <- system.file("extdata/gdal/complex.h5", package = "vapour", mustWork = TRUE)
expect_error(vapour_sds_names(), 'argument "x" is missing, with no default')
expect_error(vapour_sds_names(""), 'GDAL-accessible source')
f1 <- system.file("extdata/volcano_overview.tif", package = "vapour", mustWork = TRUE)
f2 <- system.file("extdata/volcano.tif", package = "vapour", mustWork = TRUE)
expect_equal(vapour_raster_info(f2)$extent, c(0, 61, 0, 87))
expect_true(is.null(vapour_raster_info(f2)$overviews))
expect_equal(vapour_raster_info(f1)$overviews, ## Overviews: 31x44, 16x22, 8x11, 4x6
c(31L, 44L, 16L, 22L, 8L, 11L, 4L, 6L))
## these are different on Windows and Linux ... because linux sees more SDS
## expect_error(sds_boilerplate_checks(f, 0), "sds must be 1 at minimum")
# expect_message(sds_boilerplate_checks(f), "subdataset \\(variable\\) used is '//f16'")
#
# expect_match(sds_boilerplate_checks(f, 1),
# "^HDF5:\".*extdata/gdal/complex\\.h5\"://f16$")
#
#expect_silent(s1 <- vapour_sds_names(f)) %>% expect_named(c("datasource", "subdataset"))
#expect_length(unlist(s1), 6L)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.