Nothing
# Define a simple exdf object
test_exdf <- exdf(
data.frame(species = c('maize', 'maize', 'soybean'), gsw = c(0.2, 0.3, 0.4)),
units = data.frame(species = '', gsw = 'mol m^(-2) s^(-1)', stringsAsFactors = FALSE)
)
test_that('new columns can be added with set_variable', {
# Set mesophyll conductance to infinity
gmc_v1 <- set_variable(
test_exdf,
'gmc',
'mol m^(-2) s^(-1) bar^(-1)',
value = Inf
)
expect_equal(
gmc_v1[, 'gmc'],
c(Inf, Inf, Inf)
)
expect_equal(gmc_v1$units$gmc, 'mol m^(-2) s^(-1) bar^(-1)')
expect_equal(gmc_v1$categories$gmc, 'NA')
# Set mesophyll conductance based on species
gmc_v2 <- set_variable(
test_exdf,
'gmc',
'mol m^(-2) s^(-1) bar^(-1)',
'testing',
id_column = 'species',
value_table = list(maize = 0.9, soybean = 1.1)
)
expect_equal(
gmc_v2[, 'gmc'],
c(0.9, 0.9, 1.1)
)
expect_equal(gmc_v2$units$gmc, 'mol m^(-2) s^(-1) bar^(-1)')
expect_equal(gmc_v2$categories$gmc, 'testing')
})
test_that('new columns can be added to exdf and data frame objects', {
gmc_exdf <- expect_silent(
set_variable(
test_exdf,
'gmc',
'mol m^(-2) s^(-1) bar^(-1)',
'testing',
value = 1.1,
id_column = 'species',
value_table = list(maize = 0.9)
)
)
gmc_df <- expect_silent(
set_variable(
test_exdf$main_data,
'gmc',
'mol m^(-2) s^(-1) bar^(-1)',
'testing',
value = 1.1,
id_column = 'species',
value_table = list(maize = 0.9)
)
)
expect_equal(
gmc_exdf[, 'gmc'],
c(0.9, 0.9, 1.1)
)
expect_equal(
gmc_df[, 'gmc'],
c(0.9, 0.9, 1.1)
)
})
test_that('common mistakes are caught', {
expect_error(
set_variable(
test_exdf,
'gmc',
'mol m^(-2) s^(-1) bar^(-1)',
id_column = 'species',
value_table = Inf
),
'When a `value_table` is supplied, it must be a list'
)
expect_error(
set_variable(
test_exdf,
'gmc',
'mol m^(-2) s^(-1) bar^(-1)',
id_column = 'species',
value_table = list(0.9, soybean = 1.1)
),
'When a `value_table` is supplied, all of its elements must have names'
)
expect_error(
set_variable(
test_exdf,
'gmc',
'mol m^(-2) s^(-1) bar^(-1)',
id_column = 'species',
value_table = list(0.9, 1.1)
),
'When a `value_table` is supplied, all of its elements must have names'
)
expect_error(
set_variable(
test_exdf,
'gmc',
'mol m^(-2) s^(-1) bar^(-1)',
value_table = list(maize = 0.9, soybean = 1.1)
),
'When a `value_table` is supplied, an `id_column` must also be supplied'
)
})
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.