context("constants class")
library(tealeaves)
test_that("constants returns class constants and list", {
cnstnts <- make_constants()
expect_s3_class(cnstnts, "constants")
expect_s3_class(cnstnts, "list")
})
test_that("fails when a parameter is left out", {
cnstnts <- make_constants()
cnstnts$c_p <- NULL
expect_error(constants(cnstnts))
})
test_that("removes an improper parameter", {
cnstnts <- make_constants()
cnstnts$foo <- set_units(1)
cnstnts %<>% constants()
expect_true(is.null(cnstnts$foo))
})
test_that("nu_constant returns a list of two numbers", {
cnstnts <- make_constants()
T_high <- set_units(298.15, "K")
T_low <- set_units(300, "K")
nu <- cnstnts$nu_constant(set_units(3999), "forced", T_high, T_low, "lower", FALSE)
expect_true(is.list(nu))
expect_true(length(nu) == 2L)
expect_true(length(nu[[1]]) == 1L)
expect_true(length(nu[[2]]) == 1L)
expect_true(is.numeric(nu[[1]]))
expect_true(is.numeric(nu[[2]]))
nu <- cnstnts$nu_constant(set_units(4001), "forced", T_high, T_low, "lower", FALSE)
expect_true(is.list(nu))
expect_true(length(nu) == 2L)
expect_true(length(nu[[1]]) == 1L)
expect_true(length(nu[[2]]) == 1L)
expect_true(is.numeric(nu[[1]]))
expect_true(is.numeric(nu[[2]]))
nu <- cnstnts$nu_constant(set_units(1), "free", T_high, T_low, "lower", FALSE)
expect_true(is.list(nu))
expect_true(length(nu) == 2L)
expect_true(length(nu[[1]]) == 1L)
expect_true(length(nu[[2]]) == 1L)
expect_true(is.numeric(nu[[1]]))
expect_true(is.numeric(nu[[2]]))
nu <- cnstnts$nu_constant(set_units(1), "free", T_high, T_low, "upper", FALSE)
expect_true(is.list(nu))
expect_true(length(nu) == 2L)
expect_true(length(nu[[1]]) == 1L)
expect_true(length(nu[[2]]) == 1L)
expect_true(is.numeric(nu[[1]]))
expect_true(is.numeric(nu[[2]]))
nu1 <- cnstnts$nu_constant(set_units(1), "free", T_high, T_low, "lower", FALSE)
nu2 <- cnstnts$nu_constant(set_units(1), "free", T_low, T_high, "upper", FALSE)
expect_equal(nu1, nu2)
expect_error(cnstnts$nu_constant(set_units(1), "foo", T_high, T_low, "lower") )
})
test_that("sh_constant returns a vector of one unitless number of numeric class", {
cnstnts <- make_constants()
sh <- cnstnts$sh_constant("forced")
expect_true(length(sh) == 1L)
expect_true(is(sh, "numeric"))
expect_true(!is(sh, "units"))
sh <- cnstnts$sh_constant("free")
expect_true(length(sh) == 1L)
expect_true(!is(sh, "units"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.