Nothing
# vcr doesn't work with httr2 downloads yet, so many of these tests are not
# mocked and are skipped
# https://github.com/ropensci/vcr/issues/270
skip_long_tests <- as.logical(Sys.getenv("RNPN_SKIP_LONG_TESTS", unset = "true"))
test_that("no request source blocked", {
skip_on_cran()
expect_error(npn_download_status_data(request_source = NULL, years = 2013))
expect_error(npn_download_individual_phenometrics(request_source = NULL, years = 2013))
expect_error(npn_download_site_phenometrics(request_source = NULL, years = 2013))
expect_error(npn_download_magnitude_phenometrics(request_source = NULL, years = 2013))
})
test_that("npn_download_status_data() works", {
vcr::use_cassette("npn_download_status_data_basic_1", {
some_data <- npn_download_status_data(
request_source = "Unit Test",
years = 2013,
species_ids = c(6)
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 1000)
expect_type(some_data$species_id, "integer")
skip_on_cran()
skip_if_not(check_service(), "Service is down")
## Would be ideal to capture this with vcr, but doesn't work with httr2 downloads yet: https://github.com/ropensci/vcr/issues/270
some_data_file <- npn_download_status_data(
request_source = "Unit Test",
years = 2013,
species_ids = c(6),
download_path = withr::local_tempfile(fileext = ".csv")
)
expect_equal(some_data[1, ]$species_id, 6)
expect_true(file.exists(some_data_file))
expect_equal(
read.csv(some_data_file) %>%
tibble::as_tibble() %>%
dplyr::mutate(update_datetime = as.POSIXct(update_datetime, tz = "UTC"),
abundance_value = as.character(abundance_value)),
some_data
)
})
test_that("phenometrics downloads work", {
vcr::use_cassette("npn_download_individual_phenometrics_basic_1", {
some_data <- npn_download_individual_phenometrics(
request_source = "Unit Test",
years = 2013,
species_ids = c(6)
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 10)
expect_type(some_data$species_id, "integer")
expect_equal(some_data[1, ]$species_id, 6)
vcr::use_cassette("npn_download_site_phenometrics_basic_1", {
some_data <- npn_download_site_phenometrics(
request_source = "Unit Test",
years = 2013,
species_ids = c(6)
)
})
num_site_default <- nrow(some_data)
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 10)
expect_type(some_data$species_id, "integer")
expect_equal(some_data[1, ]$species_id, 6)
vcr::use_cassette("npn_download_site_phenometrics_basic_2", {
some_data <- npn_download_site_phenometrics(
request_source = "Unit Test",
years = 2013,
species_ids = c(6),
num_days_quality_filter = "5"
)
})
num_site_custom <- nrow(some_data)
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 1)
expect_type(some_data$species_id, "integer")
expect_equal(some_data[1, ]$species_id, 6)
expect_gt(num_site_default, num_site_custom)
vcr::use_cassette("npn_download_magnitude_phenometrics_basic_1", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
years = 2013,
species_ids = c(6)
)
})
num_mag_default <- nrow(some_data)
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 10)
expect_type(some_data$species_id, "integer")
expect_equal(some_data[1, ]$species_id, 6)
vcr::use_cassette("npn_download_magnitude_phenometrics_basic_2", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
years = 2013,
species_ids = c(6),
period_frequency = "14"
)
})
num_mag_custom <- nrow(some_data)
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 25)
expect_type(some_data$species_id, "integer")
expect_equal(some_data[1, ]$species_id, 6)
expect_gt(num_mag_custom, num_mag_default)
})
test_that("custom period works", {
expect_error(
npn_download_individual_phenometrics(
request_source = "unit test",
years = 2016,
period_start = "20-20",
species_id = 201
),
"Please provide `period_start` as 'MM-DD'."
)
vcr::use_cassette("custom_period", {
indiv_standard <-
npn_download_individual_phenometrics(
request_source = "unit test",
years = 2016,
species_id = 201
)
indiv_wateryr <-
npn_download_individual_phenometrics(
request_source = "unit test",
years = 2016,
period_start = "10-01",
period_end = "09-30",
species_id = 201
)
site_standard <-
npn_download_site_phenometrics(
request_source = "unit test",
years = 2010,
species_id = 210
)
site_wateryr <-
npn_download_site_phenometrics(
request_source = "unit test",
years = 2010,
period_start = "10-01",
period_end = "09-30",
species_id = 210
)
})
#just crude checks that they aren't identical
expect_false(
all(indiv_standard$last_yes_month[1:20] ==
indiv_wateryr$last_yes_month[1:20])
)
expect_false(
all(site_standard$mean_last_yes_doy[1:20] ==
site_wateryr$mean_last_yes_doy[1:20])
)
})
# these can't be mocked currently due to limitations of vcr
test_that("file download works", {
skip_on_cran()
skip_if(skip_long_tests, "Skipping long tests")
skip_if_not(check_service(), "Service is down")
test_download_path <- withr::local_tempfile(fileext = ".csv")
# vcr::use_cassette("downloads", {
status_dl_file <- npn_download_status_data(
request_source = "Unit Test",
years = 2013,
species_ids = c(6),
download_path = test_download_path
)
# })
expect_true(file.exists(status_dl_file))
some_data <- read.csv(status_dl_file)
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 1000)
expect_type(some_data$species_id, "integer")
expect_equal(some_data[1, ]$species_id, 6)
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
years = 2013,
species_ids = c(6),
download_path = test_download_path
)
expect_equal(file.exists(test_download_path), TRUE)
some_data <- read.csv(test_download_path)
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 10)
expect_type(some_data$species_id, "integer")
expect_equal(some_data[1, ]$species_id, 6)
})
test_that("climate data flag works", {
skip_on_cran()
skip_if(skip_long_tests, "Skipping long tests")
skip_if_not(check_service(), "Service is down")
vcr::use_cassette("npn_download_status_data_climate_flag_1", {
some_data <- npn_download_status_data(
request_source = "Unit Test",
years = 2013,
species_ids = c(6),
climate_data = TRUE
)
})
expect_s3_class(some_data, "data.frame")
expect_type(some_data$tmin_winter, "double")
vcr::use_cassette("npn_download_individual_phenometrics_climate_flag_1", {
some_data <- npn_download_individual_phenometrics(
request_source = "Unit Test",
years = 2013,
species_ids = c(6),
climate_data = TRUE
)
})
expect_s3_class(some_data, "data.frame")
expect_type(some_data$tmin_winter, "double")
vcr::use_cassette("npn_download_magnitude_phenometrics_climate_flag_1", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
years = 2013,
species_ids = c(6),
climate_data = TRUE
)
})
expect_s3_class(some_data, "data.frame")
expect_null(some_data$tmin_winter)
})
test_that("higher taxonomic ordering works for status data", {
skip_on_cran()
skip_if(skip_long_tests, "Skipping long tests")
skip_if_not(check_service(), "Service is down")
#Check the different taxonomic levels for
#status data
#Family_ID
vcr::use_cassette("npn_download_status_data_tax_1", {
some_data <- npn_download_status_data(
request_source = "Unit Test",
years = 2013,
family_ids = c(322),
additional_fields = c("Family_ID")
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 1000)
expect_type(some_data$family_id, "integer")
expect_equal(some_data[1, ]$family_id, 322)
less_data <- subset(some_data, species_id == 6)
expect_lt(nrow(less_data), nrow(some_data))
expect_gt(nrow(less_data), 0)
#Order_ID
vcr::use_cassette("npn_download_status_data_tax_2", {
some_data <- npn_download_status_data(
request_source = "Unit Test",
years = 2013,
order_ids = c(95), #TODO pick a smaller order!
additional_fields = c("Order_ID")
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 1000)
expect_type(some_data$order_id, "integer")
expect_equal(some_data[1, ]$order_id, 95)
less_data <- subset(some_data,species_id == 6)
expect_lt(nrow(less_data), nrow(some_data))
expect_gt(nrow(less_data), 0)
#class_ID
vcr::use_cassette("npn_download_status_data_tax_3", {
some_data <- npn_download_status_data(
request_source = "Unit Test",
years = 2013,
class_ids = c(15), #TODO pick a smaller class or year with less data!
additional_fields = c("Class_ID")
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 1000)
expect_type(some_data$class_id, "integer")
expect_equal(some_data[1, ]$class_id, 15)
less_data <- subset(some_data,species_id == 6)
expect_lt(nrow(less_data), nrow(some_data))
expect_gt(nrow(less_data), 0)
})
test_that("higher taxonomic ordering works for individual phenometrics", {
skip_on_cran()
skip_if(skip_long_tests, "Skipping long tests")
skip_if_not(check_service(), "Service is down")
#Check the different taxonomic levels for
#status data
#Family_ID
vcr::use_cassette("npn_download_individual_phenometrics_tax_1", {
some_data <- npn_download_individual_phenometrics(
request_source = "Unit Test",
years = 2013,
family_ids = c(322),
additional_fields = c("Family_ID")
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 100)
expect_type(some_data$family_id, "integer")
expect_equal(some_data[1, ]$family_id, 322)
less_data <- subset(some_data,species_id == 6)
expect_lt(nrow(less_data), nrow(some_data))
expect_gt(nrow(less_data), 0)
#Order_ID
vcr::use_cassette("npn_download_individual_phenometrics_tax_2", {
some_data <- npn_download_individual_phenometrics(
request_source = "Unit Test",
years = 2013,
order_ids = c(95),
additional_fields = c("Order_ID")
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 100)
expect_type(some_data$order_id, "integer")
expect_equal(some_data[1, ]$order_id, 95)
less_data <- subset(some_data,species_id == 6)
expect_lt(nrow(less_data), nrow(some_data))
expect_gt(nrow(less_data), 0)
# #class_ID
vcr::use_cassette("npn_download_individual_phenometrics_tax_3", {
some_data <- npn_download_individual_phenometrics(
request_source = "Unit Test",
years = 2013,
class_ids = c(15),
additional_fields = c("Class_ID")
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 1000)
expect_type(some_data$class_id, "integer")
expect_equal(some_data[1, ]$class_id, 15)
less_data <- subset(some_data,species_id == 6)
expect_lt(nrow(less_data), nrow(some_data))
expect_gt(nrow(less_data), 0)
})
test_that("higher taxonomic ordering works for site phenometrics", {
skip_on_cran()
skip_if(skip_long_tests, "Skipping long tests")
skip_if_not(check_service(), "Service is down")
#Check the different taxonomic levels for
#status data
#Family_ID
vcr::use_cassette("npn_download_site_phenometrics_tax_1", {
some_data <- npn_download_site_phenometrics(
request_source = "Unit Test",
years = 2013,
family_ids = c(322),
additional_fields = c("Family_ID")
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 10)
expect_type(some_data$family_id, "integer")
expect_equal(some_data[1, ]$family_id, 322)
less_data <- subset(some_data,species_id == 6)
expect_lt(nrow(less_data), nrow(some_data))
expect_gt(nrow(less_data), 0)
#Order_ID
vcr::use_cassette("npn_download_site_phenometrics_tax_2", {
some_data <- npn_download_site_phenometrics(
request_source = "Unit Test",
years = 2013,
order_ids = c(95),
additional_fields = c("Order_ID")
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 10)
expect_type(some_data$order_id, "integer")
expect_equal(some_data[1, ]$order_id, 95)
less_data <- subset(some_data,species_id == 6)
expect_lt(nrow(less_data), nrow(some_data))
expect_gt(nrow(less_data), 0)
# #class_ID
vcr::use_cassette("npn_download_site_phenometrics_tax_3", {
some_data <- npn_download_site_phenometrics(
request_source = "Unit Test",
years = 2013,
class_ids = c(15),
additional_fields = c("Class_ID")
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 1000)
expect_type(some_data$class_id, "integer")
expect_equal(some_data[1, ]$class_id, 15)
less_data <- subset(some_data,species_id == 6)
expect_lt(nrow(less_data), nrow(some_data))
expect_gt(nrow(less_data), 0)
})
test_that("higher taxonomic ordering works for magnitude phenometrics", {
skip_on_cran()
skip_if(skip_long_tests, "Skipping long tests")
skip_if_not(check_service(), "Service is down")
#Check the different taxonomic levels for
#status data
#Family_ID
vcr::use_cassette("npn_download_magnitude_phenometrics_tax_1", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
years = 2013,
family_ids = c(322),
additional_fields = c("Family_ID")
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 10)
expect_type(some_data$family_id, "integer")
expect_equal(some_data[1, ]$family_id, 322)
less_data <- subset(some_data,species_id == 6)
expect_lt(nrow(less_data), nrow(some_data))
expect_gt(nrow(less_data), 0)
#Order_ID
vcr::use_cassette("npn_download_magnitude_phenometrics_tax_2", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
years = 2013,
order_ids = c(95),
additional_fields = c("Order_ID")
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 100)
expect_type(some_data$order_id, "integer")
expect_equal(some_data[1, ]$order_id, 95)
less_data <- subset(some_data,species_id == 6)
expect_lt(nrow(less_data), nrow(some_data))
expect_gt(nrow(less_data), 0)
# #class_ID
vcr::use_cassette("npn_download_magnitude_phenometrics_tax_3", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
years = 2013,
class_ids = c(15),
additional_fields = c("Class_ID")
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 1000)
expect_type(some_data$class_id, "integer")
expect_equal(some_data[1, ]$class_id, 15)
less_data <- subset(some_data, species_id == 6)
expect_lt(nrow(less_data), nrow(some_data))
expect_gt(nrow(less_data), 0)
})
test_that("higher level taxonomic agg and pheno agg works for site level",{
skip_on_cran()
skip_if(skip_long_tests, "Skipping long tests")
skip_if_not(check_service(), "Service is down")
vcr::use_cassette("npn_download_site_phenometrics_pheno_agg_1", {
some_data <- npn_download_site_phenometrics(
request_source = "Unit Test",
years = 2013,
family_ids = c(322),
taxonomy_aggregate = TRUE
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 10)
expect_type(some_data$family_id, "integer")
expect_equal(some_data[1, ]$family_id, 322)
expect_null(some_data$species_id)
vcr::use_cassette("npn_download_site_phenometrics_pheno_agg_2", {
some_data <- npn_download_site_phenometrics(
request_source = "Unit Test",
years = 2013,
family_ids = c(322),
pheno_class_aggregate = TRUE, pheno_class_ids = c(1, 3, 6)
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 10)
expect_null(some_data$phenophase_id)
vcr::use_cassette("npn_download_site_phenometrics_pheno_agg_3", {
some_data <- npn_download_site_phenometrics(
request_source = "Unit Test",
years = 2013,
order_ids = c(78),
pheno_class_ids = c(1, 3, 6),
pheno_class_aggregate = TRUE,
taxonomy_aggregate = TRUE
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 100)
expect_type(some_data$pheno_class_name, "character")
expect_type(some_data$order_id, "integer")
expect_null(some_data$phenophase_id)
})
test_that("higher level taxonomic agg works for magnitude", {
skip_on_cran()
skip_if(skip_long_tests, "Skipping long tests")
skip_if_not(check_service(), "Service is down")
vcr::use_cassette("npn_download_magnitude_phenometrics_pheno_agg_1", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
years = 2013,
family_ids = c(322),
taxonomy_aggregate = TRUE
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 10)
expect_type(some_data$family_id, "integer")
expect_equal(some_data[1, ]$family_id, 322)
expect_null(some_data$species_id)
vcr::use_cassette("npn_download_magnitude_phenometrics_pheno_agg_2", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
years = 2013,
family_ids = c(322),
pheno_class_aggregate = TRUE, pheno_class_ids = c(1, 3, 6)
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 10)
expect_null(some_data$phenophase_id)
vcr::use_cassette("npn_download_magnitude_phenometrics_pheno_agg_3", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
years = 2013,
order_ids = c(78),
pheno_class_ids = c(1, 3, 6),
pheno_class_aggregate = TRUE,
taxonomy_aggregate = TRUE
)
})
expect_s3_class(some_data, "data.frame")
expect_gt(nrow(some_data), 10)
expect_type(some_data$pheno_class_name, "character")
expect_type(some_data$order_id, "integer")
expect_null(some_data$phenophase_id)
})
test_that("six concordance works for status", {
skip_on_cran()
skip_if(skip_long_tests, "Skipping long tests")
skip_if_not(check_service(), "Service is down")
vcr::use_cassette("npn_download_status_data_six_concord_1", {
some_data <- npn_download_status_data(
request_source = "Unit Test",
c(2016),
species_ids = c(6),
six_leaf_layer = TRUE,
six_bloom_layer = TRUE,
agdd_layer = 32,
additional_layers = data.frame(name = c("si-x:30yr_avg_4k_leaf"), param = c("365"))
)
})
expect_s3_class(some_data, "data.frame")
expect_type(some_data$`SI-x_Bloom_Value`, "double")
expect_type(some_data$`SI-x_Leaf_Value`, "double")
expect_type(some_data$`si-x:30yr_avg_4k_leaf`, "double")
expect_type(some_data$`gdd:agdd`, "double")
expect_gt(some_data[1, "SI-x_Bloom_Value"], -1)
expect_lt(some_data[1, "SI-x_Bloom_Value"], 250)
expect_gt(some_data[1, "SI-x_Leaf_Value"], -1)
expect_lt(some_data[1, "SI-x_Leaf_Value"], 250)
expect_gt(some_data[1, "si-x:30yr_avg_4k_leaf"], -1)
expect_lt(some_data[1, "si-x:30yr_avg_4k_leaf"], 250)
expect_gt(some_data[1, "gdd:agdd"], -1)
avg_leaf_data <- some_data$`SI-x_Leaf_Value`
# Test sub-model functionality
vcr::use_cassette("npn_download_status_data_six_concord_2", {
some_data <- npn_download_status_data(
request_source = "Unit Test",
c(2016),
species_ids = c(6),
six_leaf_layer = TRUE,
six_sub_model = "lilac"
)
})
expect_gt(some_data[1, "SI-x_Leaf_Value"], -1)
expect_lt(some_data[1, "SI-x_Leaf_Value"], 250)
expect_false(identical(some_data$`SI-x_Leaf_Value`, avg_leaf_data))
# This is testing that the implicit
# reconciliation with different SI-x
# layers is happening based on the date
#
# In this case get NCEP data
vcr::use_cassette("npn_download_status_data_six_concord_3", {
some_data <- npn_download_status_data(
request_source = "Unit Test",
c(2019),
species_ids = c(3),
six_leaf_layer = TRUE,
six_sub_model = "lilac"
)
})
expect_gt(some_data[1, "SI-x_Leaf_Value"], -1)
expect_lt(some_data[1, "SI-x_Leaf_Value"], 250)
# In this case get PRISM data
vcr::use_cassette("npn_download_status_data_six_concord_4", {
some_data <- npn_download_status_data(
request_source = "Unit Test",
c(2009),
species_ids = c(3),
six_leaf_layer = TRUE,
six_sub_model = "lilac"
)
})
expect_gt(some_data[1, "SI-x_Leaf_Value"], -1)
expect_lt(some_data[1, "SI-x_Leaf_Value"], 250)
})
test_that("wkt filter works", {
skip_on_cran()
skip_if(skip_long_tests, "Skipping long tests")
skip_if_not(check_service(), "Service is down")
#wkt is for CO
wkt_def <- "POLYGON ((-102.04224 36.993083,-109.045223 36.999084,-109.050076 41.000659,-102.051614 41.002377,-102.04224 36.993083))"
vcr::use_cassette("npn_download_status_data_wkt_1", {
some_data <- npn_download_status_data(
request_source = "Unit Test",
c(2016),
species_ids = c(35)
)
})
rows_wo_filter <- nrow(some_data)
vcr::use_cassette("npn_download_status_data_wkt_2", {
some_data <- npn_download_status_data(
request_source = "Unit Test",
c(2016),
species_ids = c(35),
wkt = wkt_def
)
})
rows_w_filter <- nrow(some_data)
expect_s3_class(some_data, "data.frame")
expect_type(some_data$species_id, "integer")
expect_equal(some_data[1, ]$state, "CO")
expect_gt(rows_wo_filter, rows_w_filter)
vcr::use_cassette("npn_download_individual_phenometrics_wkt_1", {
some_data <- npn_download_individual_phenometrics(
request_source = "Unit Test",
c(2016),
species_ids = c(35)
)
})
rows_wo_filter <- nrow(some_data)
vcr::use_cassette("npn_download_individual_phenometrics_wkt_2", {
some_data <- npn_download_individual_phenometrics(
request_source = "Unit Test",
c(2016),
species_ids = c(35),
wkt = wkt_def
)
})
rows_w_filter <- nrow(some_data)
expect_s3_class(some_data, "data.frame")
expect_type(some_data$species_id, "integer")
expect_equal(some_data[1, ]$state, "CO")
expect_gt(rows_wo_filter, rows_w_filter)
vcr::use_cassette("npn_download_site_phenometrics_wkt_1", {
some_data <- npn_download_site_phenometrics(
request_source = "Unit Test",
c(2016),
species_ids = c(35)
)
})
rows_wo_filter <- nrow(some_data)
vcr::use_cassette("npn_download_site_phenometrics_wkt_2", {
some_data <- npn_download_site_phenometrics(
request_source = "Unit Test",
c(2016),
species_ids = c(35),
wkt = wkt_def
)
rows_w_filter <- nrow(some_data)
})
expect_s3_class(some_data, "data.frame")
expect_type(some_data$species_id, "integer")
expect_equal(some_data[1, ]$state, "CO")
expect_gt(rows_wo_filter, rows_w_filter)
vcr::use_cassette("npn_download_magnitude_phenometrics_wkt_1", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
c(2016),
species_ids = c(35)
)
})
rows_wo_filter <- nrow(some_data)
vcr::use_cassette("npn_download_magnitude_phenometrics_wkt_2", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
c(2016),
species_ids = c(35),
wkt = wkt_def
)
})
rows_w_filter <- nrow(some_data)
expect_s3_class(some_data, "data.frame")
expect_type(some_data$species_id, "integer")
expect_gt(rows_wo_filter, rows_w_filter)
})
test_that("frequency params work", {
skip_on_cran()
skip_if(skip_long_tests, "Skipping long tests")
skip_if_not(check_service(), "Service is down")
vcr::use_cassette("npn_download_site_phenometrics_frequency_1", {
some_data <- npn_download_site_phenometrics(
request_source = "Unit Test",
years = 2013,
family_ids = c(322), num_days_quality_filter = "30"
)
})
rows_month_filter <- nrow(some_data)
vcr::use_cassette("npn_download_site_phenometrics_frequency_2", {
some_data <- npn_download_site_phenometrics(
request_source = "Unit Test",
years = 2013,
family_ids = c(322), num_days_quality_filter = "15"
)
})
rows_fortnight_filter <- nrow(some_data)
expect_gt(rows_month_filter, rows_fortnight_filter)
vcr::use_cassette("npn_download_magnitude_phenometrics_frequency_1", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
years = 2013,
family_ids = c(322), period_frequency = "months"
)
})
rows_month_freq <- nrow(some_data)
vcr::use_cassette("npn_download_magnitude_phenometrics_frequency_2", {
some_data <- npn_download_magnitude_phenometrics(
request_source = "Unit Test",
years = 2013,
family_ids = c(322), period_frequency = "14"
)
})
rows_fortnight_freq <- nrow(some_data)
expect_gt(rows_fortnight_freq, rows_month_freq)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.