example_vpts_reg <-
suppressMessages(regularize_vpts(example_vpts))
test_that("plot.vpts() returns error on incorrect parameters", {
# use plot.vpts() to avoid defaulting to base plot()
expect_error(plot.vpts("not_a_vpts"),
regexp = 'inherits(x, "vpts") is not TRUE',
fixed = TRUE)
expect_error(
plot(example_vpts_reg, quantity = "not_a_quantity"),
regexp = "`quantity` needs to be one of `u`, `v`, `w`, `ff`, `dd`, `sd_vvp`, `gap`, `dbz`, `eta`, `dens`, `DBZH`, `n`, `n_dbz`, `n_all` or `n_dbz_all`",
fixed = TRUE)
# Test error on "param" instead of "quantity"
expect_error(
plot(example_vpts_reg, param = "dens"),
regexp = "unknown function argument 'param`. Did you mean `quantity`?",
fixed = TRUE)
})
test_that("plot.vpts() warns for certain datatypes", {
# Test warning for not regularized vpts
expect_warning(
plot(example_vpts, quantity = "dens"),
"Irregular time-series"
)
# Test warning for duplicated time steps
example_vpts_dup <- example_vpts_reg
example_vpts_dup$timesteps <- c(example_vpts_dup$timesteps, 0)
expect_warning(
plot(example_vpts_dup, quantity = "dens"),
"duplicate datetime values"
)
})
test_that("plot.vpts() warns for deprecated arguments", {
expect_warning(plot(example_vpts_reg, quantity = "dens", barbs.h = 1))
expect_warning(plot(example_vpts_reg, quantity = "dens", barbs.t = 1))
expect_warning(plot(example_vpts_reg, quantity = "dens", barbs.dens = 1))
expect_warning(plot(example_vpts_reg, quantity = "dens", legend.ticks = 1))
})
test_that("plot.vpts() returns error on bad palette", {
expect_error(
suppressMessages(plot(regularize_vpts(example_vpts), palette = 123)),
regexp = "palette should be a character vector with hex color values",
fixed = TRUE
)
})
test_that("plot_wind_barbs() returns error on incorrect parameters", {
expect_error(
plot_wind_barbs(c(1, 2), c(4, 5, 8)),
regexp = "`cx` and `cy` should have the same length.",
fixed = TRUE
)
variable_error_message <-
"All variables, when provided, should have same length as coordinates."
expect_error(
plot_wind_barbs(c(1, 2), c(4, 5)),
regexp = variable_error_message,
fixed = TRUE
)
expect_error(
plot_wind_barbs(c(1, 2), c(4, 5),
speed = 46,
direction = NA),
regexp = variable_error_message,
fixed = TRUE
)
expect_error(
plot_wind_barbs(c(1, 2), c(4, 5),
speed = NA,
direction = NA,
fill = "red"),
regexp = variable_error_message,
fixed = TRUE
)
expect_error(
plot_wind_barbs(c(1, 2), c(4, 5),
speed = NA,
direction = c(4,98,2,42),
fill = NA),
regexp = variable_error_message,
fixed = TRUE
)
expect_error(
plot_wind_barbs(c(1, 2), c(4, 5),
speed = c(4,98,2,42),
direction = NA,
fill = NA),
regexp = variable_error_message,
fixed = TRUE
)
expect_error(
plot_wind_barbs(c(1, 2), c(4, 5),
speed = NA,
direction = NA,
fill = c("slategray2","wheat3","tomato")),
regexp = variable_error_message,
fixed = TRUE
)
})
test_that("plot.vpts() produces plots", {
expect_s3_class(recordPlot(plot(example_vpts_reg)), "recordedplot")
expect_s3_class(recordPlot(plot(example_vpts_reg, quantity = "eta")), "recordedplot")
expect_s3_class(recordPlot(plot(example_vpts_reg, quantity = "DBZH")), "recordedplot")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.