library(testthat)
library(data.table)
library(ezdf)
data(iris)
setup <- function(){
ezdt = as.ez(iris)
ezdt$test = sample(5, size = nrow(iris), replace = T)
ezdt
}
ezdt <- setup()
test_that('as.ez.data.frame', {
expect_is(ezdt, 'ez.data.frame')
})
test_that('value labels', {
vl1 = valueLabels(ezdt, 'test')
expect_equal(length(vl1), 0)
expect_equivalent(vl1, list())
expect_equal(attr(vl1, 'ez'), 'ezdt')
expect_equal(attr(vl1, 'col'), 'test')
vl2 = vl1 + c(MI=9, MM=8)
expect_equivalent(unclass(vl2), c(9, 8))
vl2.1 = vl2 + c('NN'=9)
expect_named(vl2.1, c('MM', 'NN'))
vl3 = vl1 - c('a'=8)
expect_equal(vl3, vl1)
vl4 = vl2 - c(9)
expect_equal(length(vl4), 1)
expect_equivalent(unclass(vl4), 8)
valueLabels(ezdt, 'test') = vl2
expect_equal(valueLabels(ezdt, 'test'), vl2)
})
test_that('var labels', {
ezdt <- setup()
expect_null(varLabels(ezdt))
meta = varLabels(ezdt, c('Species','test'))
expect_equal(meta, c("", ""))
meta = varLabels(ezdt, c('Species','test'), default = "var")
expect_equal(meta, c('Species','test'))
expect_equal(varLabels(ezdt, ''), '')
expect_equal(varLabels(ezdt, 'nonexists'), '')
expect_equal(varLabels(ezdt, 'nonexists', default = 'var'), 'nonexists')
varLabels(ezdt, 'test') <- 'TEST'
expect_equal(varLabels(ezdt, 'test'), 'TEST')
expect_equal(varLabels(ezdt, c('Species', 'test')), c('', 'TEST'))
expect_equal(varLabels(ezdt, c('Species', 'test'), "var"), c('Species', 'TEST'))
#varLabels(ezdt, "test") <- "New Label"
#expect_equal(varLabels(ezdt, "test"), 'New Label')
})
test_that('tbl', {
tmp <- 1:5
names(tmp) <- LETTERS[1:5]
valueLabels(ezdt, 'test') <- tmp
tbl(ezdt, Sepal.Length ~ test)
options('ezdfKeepVal' = T)
options('ezdfValueLabelSep' = '=')
tbl(ezdt, Sepal.Length ~ test)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.