library(testthat)
library(validate)
context("pesticide site summary data")
#looking for more thorough explanation of the 'validate' library capabilities?
#Run:
# vignette("intro", package="validate")
test_that("pesticide sites summary has the correct columns", {
expect_has_names(pestsites, c(
"SITE_QW_ID","SITE_QW_NAME","SITE_FLOW_ID","SITE_FLOW_NAME","SITE_ABB","DA","SITE_TYPE","STATE","MIN_SAMP","HERB_SAMP","NONHERB_SAMP","AQ1","AQ2","AQ3",
"PERC_HH","PERC_AQ","PERC_HH3","PERC_AQ3","PERC_HH_OLD","PERC_AQ_OLD","N_NEW","NPEST_NEW_HH","N_3","NPEST_3_HH","N_OLD_AVE",
"N_YRS","N_OLD_HH","N_NEW_AQ","N_AQ3","N_OLD_AQ","N_HH_OLD","N_AQ_OLD","PEST_NEW_EXCEED_HH","PEST_NEW_EXCEED_AQ","PEST_3_EXCEED_HH",
"PEST_3_EXCEED_AQ","PEST_OLD_EXCEED_HH","PEST_OLD_EXCEED_AQ","HH1","HH2","HH3","NDET1_PNAME","PERC1_NEW","PERC1_3","PERC1_OLD","PERC1_NEW_COM",
"PERC1_3_COM","PERC1_OLD_COM","NSAMP1_NEW","NSAMP1_3","NSAMP1_OLD","NDET2_PNAME","PERC2_NEW","PERC2_3","PERC2_OLD","PERC2_NEW_COM","PERC2_3_COM",
"PERC2_OLD_COM","NSAMP2_NEW","NSAMP2_3","NSAMP2_OLD","NDET3_PNAME","PERC3_NEW","PERC3_3","PERC3_OLD","PERC3_NEW_COM","PERC3_3_COM",
"PERC3_OLD_COM","NSAMP3_NEW","NSAMP3_3","NSAMP3_OLD","NDET4_PNAME","PERC4_NEW","PERC4_3","PERC4_OLD","PERC4_NEW_COM","PERC4_3_COM",
"PERC4_OLD_COM","NSAMP4_NEW","NSAMP4_3","NSAMP4_OLD","NDET5_PNAME","PERC5_NEW","PERC5_3","PERC5_OLD","PERC5_NEW_COM","PERC5_3_COM","PERC5_OLD_COM",
"NSAMP5_NEW","NSAMP5_3","NSAMP5_OLD","NDET6_PNAME","PERC6_NEW","PERC6_3","PERC6_OLD","PERC6_NEW_COM","PERC6_3_COM","PERC6_OLD_COM","NSAMP6_NEW",
"NSAMP6_3","NSAMP6_OLD","NDET7_PNAME","PERC7_NEW","PERC7_3","PERC7_OLD","PERC7_NEW_COM","PERC7_3_COM","PERC7_OLD_COM","NSAMP7_NEW","NSAMP7_3",
"NSAMP7_OLD","NDET8_PNAME","PERC8_NEW","PERC8_3","PERC8_OLD","PERC8_NEW_COM","PERC8_3_COM","PERC8_OLD_COM","NSAMP8_NEW","NSAMP8_3","NSAMP8_OLD",
"NDET9_PNAME","PERC9_NEW","PERC9_3","PERC9_OLD","PERC9_NEW_COM","PERC9_3_COM","PERC9_OLD_COM","NSAMP9_NEW","NSAMP9_3","NSAMP9_OLD","NDET10_PNAME",
"PERC10_NEW","PERC10_3","PERC10_OLD","PERC10_NEW_COM","PERC10_3_COM","PERC10_OLD_COM","NSAMP10_NEW","NSAMP10_3","NSAMP10_OLD","NPEST_NEW","NPEST_3",
"NDETS_NEW","NDETS_3","NDETS_HH","NDETS_AQ","N_HH","N_AQ","NDETS_HH3","NDETS_AQ3","N_HH3","N_NUTS","N_NUTS_DET","N_NUTS_DET_HH","N_NUTS_DET_AQ","N_NUT_HH","PLOT","NPEST_3_AQ"
))
})
test_that("pesticide site's columns are correctly typed", {
result <- validate::check_that(pestsites,
is.double(c(DA,MIN_SAMP,N_OLD_AVE,PERC1_NEW,PERC1_3,PERC1_OLD,PERC1_NEW_COM,PERC1_3_COM,
PERC1_OLD_COM,NSAMP1_OLD,PERC2_NEW,PERC2_3,PERC2_OLD,PERC2_NEW_COM,PERC2_3_COM,PERC2_OLD_COM,NSAMP2_OLD,PERC3_NEW,PERC3_3,PERC3_OLD,
PERC3_NEW_COM,PERC3_3_COM,PERC3_OLD_COM,NSAMP3_OLD,PERC4_NEW,PERC4_3,PERC4_OLD,PERC4_NEW_COM,PERC4_3_COM,PERC4_OLD_COM,NSAMP4_OLD,
PERC5_NEW,PERC5_3,PERC5_OLD,PERC5_NEW_COM,PERC5_3_COM,PERC5_OLD_COM,NSAMP5_OLD,PERC6_NEW,PERC6_3,PERC6_OLD,PERC6_NEW_COM,PERC6_3_COM,
PERC6_OLD_COM,NSAMP6_OLD,PERC7_NEW,PERC7_3,PERC7_OLD,PERC7_NEW_COM,PERC7_3_COM,PERC7_OLD_COM,NSAMP7_OLD,PERC8_NEW,PERC8_3,PERC8_OLD,
PERC8_NEW_COM,PERC8_3_COM,PERC8_OLD_COM,NSAMP8_OLD,PERC9_NEW,PERC9_3,PERC9_OLD,PERC9_NEW_COM,PERC9_3_COM,PERC9_OLD_COM,NSAMP9_OLD,
PERC10_NEW,PERC10_3,PERC10_OLD,PERC10_NEW_COM,PERC10_3_COM,PERC10_OLD_COM,NSAMP10_OLD,N_NUTS,N_NUTS_DET,N_NUTS_DET_HH,N_NUTS_DET_AQ,NPEST_3_AQ
)),
is.character(c(SITE_QW_ID,SITE_QW_NAME,SITE_FLOW_ID,SITE_FLOW_NAME,SITE_ABB,SITE_TYPE,STATE,HERB_SAMP,NONHERB_SAMP,AQ1,AQ2,AQ3,PERC_HH,PERC_AQ,PERC_HH3,PERC_AQ3,PERC_HH_OLD,PERC_AQ_OLD,
PEST_NEW_EXCEED_HH,PEST_NEW_EXCEED_AQ,PEST_3_EXCEED_HH,PEST_3_EXCEED_AQ,PEST_OLD_EXCEED_HH,PEST_OLD_EXCEED_AQ,
HH1,HH2,HH3,NDET1_PNAME,NDET2_PNAME,NDET3_PNAME,NDET4_PNAME,NDET5_PNAME,NDET6_PNAME,NDET7_PNAME,NDET8_PNAME,NDET9_PNAME,NDET10_PNAME,PLOT)
))
expect_no_errors(result)
})
test_that("All pestsites have a pesticide selected for aquatic-life and human-health benchmarks", {
pest_test <- pestsites[is.na(pestsites$AQ1)|is.na(pestsites$HH1),]
expect_equal(nrow(pest_test), 0)
})
test_that("Pesticide percentage and names are not NA values", {
result <- validate::check_that(pestsites,
!is.na(c(PERC_HH,PERC_AQ,PERC_HH3,PERC_AQ3,PERC_HH_OLD,PERC_AQ_OLD,N_NEW,
NPEST_NEW_HH,N_3,NPEST_3_HH,N_OLD_AVE,N_YRS,N_OLD_HH,N_NEW_AQ,
NPEST_3_AQ,N_OLD_AQ,N_HH_OLD,N_AQ_OLD,PEST_NEW_EXCEED_HH,PEST_NEW_EXCEED_AQ,
PEST_3_EXCEED_HH,PEST_3_EXCEED_AQ,PEST_OLD_EXCEED_HH,PEST_OLD_EXCEED_AQ))
)
expect_no_errors(result)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.