library(sapfluxnetQC1)
context('D1. Metadata load')
foo_object <- 25
# foo file
zz <- file("foo.data", "w") # open an output file connection
cat("TITLE extra line", "2 3 5 7", "", "11 13 17", file = zz, sep = "\n")
cat("One more line\n", file = zz)
close(zz)
test_that('Error raises in case of bad arguments', {
expect_error(dl_metadata('file_that_not_exists', 'site_md'),
'File does not exist')
expect_error(dl_metadata(foo_object, 'site_md'),
'File name is not provided as character')
expect_error(dl_metadata('foo.data', 'not_a_metadata_sheet'),
'Provided sheet name is not a character or is not a metadata')
expect_error(dl_metadata('foo.data', foo_object),
'Provided sheet name is not a character or is not a metadata')
})
file.remove('foo.data')
# xlsx file
xlsx_name <- 'foo.xlsx'
site_md <- suppressMessages(dl_metadata(xlsx_name, 'site_md'))
stand_md <- suppressMessages(dl_metadata(xlsx_name, 'stand_md', si_code_loc = site_md))
species_md <- suppressMessages(dl_metadata(xlsx_name, 'species_md', si_code_loc = site_md))
plant_md <- suppressMessages(dl_metadata(xlsx_name, 'plant_md', si_code_loc = site_md))
env_md <- suppressMessages(dl_metadata(xlsx_name, 'environmental_md', si_code_loc = site_md))
xlsx_name <- 'foo_nan.xlsx'
site_md_nan <- suppressMessages(dl_metadata(xlsx_name, 'site_md'))
stand_md_nan <- suppressMessages(dl_metadata(xlsx_name, 'stand_md', si_code_loc = site_md))
species_md_nan <- suppressMessages(dl_metadata(xlsx_name, 'species_md', si_code_loc = site_md))
plant_md_nan <- suppressMessages(dl_metadata(xlsx_name, 'plant_md', si_code_loc = site_md))
env_md_nan <- suppressMessages(dl_metadata(xlsx_name, 'environmental_md', si_code_loc = site_md))
test_that('function returns data frames', {
expect_is(site_md, 'data.frame')
expect_is(stand_md, 'data.frame')
expect_is(species_md, 'data.frame')
expect_is(plant_md, 'data.frame')
expect_is(env_md, 'data.frame')
expect_is(site_md_nan, 'data.frame')
expect_is(stand_md_nan, 'data.frame')
expect_is(species_md_nan, 'data.frame')
expect_is(plant_md_nan, 'data.frame')
expect_is(env_md_nan, 'data.frame')
})
test_that('si_code is correctly inserted in all metadata', {
expect_identical(site_md$si_code, 'ESP_VAL_SOR')
expect_identical(stand_md$si_code, 'ESP_VAL_SOR')
expect_true(all(species_md$si_code == 'ESP_VAL_SOR'))
expect_true(all(plant_md$si_code == 'ESP_VAL_SOR'))
expect_identical(env_md$si_code, 'ESP_VAL_SOR')
expect_identical(site_md_nan$si_code, 'ESP_VAL_SOR')
expect_identical(stand_md_nan$si_code, 'ESP_VAL_SOR')
expect_true(all(species_md_nan$si_code == 'ESP_VAL_SOR'))
expect_true(all(plant_md_nan$si_code == 'ESP_VAL_SOR'))
expect_identical(env_md_nan$si_code, 'ESP_VAL_SOR')
})
test_that('each metadata object has the correct number of variables', {
expect_equal(length(names(site_md)), 20)
expect_equal(length(names(stand_md)), 17)
expect_equal(length(names(species_md)), 5)
expect_equal(length(names(plant_md)), 25)
expect_equal(length(names(env_md)), 17)
expect_equal(length(names(site_md_nan)), 20)
expect_equal(length(names(stand_md_nan)), 17)
expect_equal(length(names(species_md_nan)), 5)
expect_equal(length(names(plant_md_nan)), 24)
expect_equal(length(names(env_md_nan)), 17)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.