vp <- example_vp
scan <- example_scan
# No tests for error on incorrect parameters:
# summary(), print(), dim() are generic and work for every input
# is.vp() returns TRUE/FALSE and works for every input
test_that("c.vp() returns error on incorrect parameters", {
expect_error(c(vp, "not_a_vp"), "Each element must be a `vp` object.", fixed = TRUE)
})
test_that("summary.vp() prints metadata to the console", {
# print.vp() is not tested as it is the same as and called from summary.vp()
expect_output(summary(vp), "Vertical profile (class vp)", fixed = TRUE)
expect_output(summary(vp), "radar:", fixed = TRUE)
expect_output(summary(vp), "source:", fixed = TRUE)
expect_output(summary(vp), "nominal time:", fixed = TRUE)
expect_output(summary(vp), "generated by:", fixed = TRUE)
})
test_that("summary.vp() warns for legacy objects", {
names(vp$data) <- sub("height", "HGHT", names(vp$data)) # Rename to legacy "HGHT"
expect_warning(summary(vp), "`x` is a legacy `vp` object without a column `height`.", fixed = TRUE)
})
test_that("is.vp() returns TRUE/FALSE correctly", {
expect_true(is.vp(vp))
expect_false(is.vp("not_a_vp"))
expect_false(is.vp(scan))
})
test_that("dim.vp() returns number of heights, quantities", {
expect_vector(dim(vp))
expect_equal(dim(vp), c(25, 16)) # 25 heights, 17 quantities in example_vp
})
test_that("c.vp() warns if vp are not of same radar", {
vp_other_radar <- vp
vp_other_radar$radar <- "test"
expect_warning(c(vp, vp_other_radar), "Vertical profiles are not from a single radar.")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.