library(testthat)
library(magrittr)
library(dplyr)
test_that('decorate_groups clears existing specifications',{
test <- data.frame(lapply(Theoph, type.convert, as.is = TRUE))
test %<>% decorate_groups(Subject, Time)
expect_identical(decorations_groups(test), c('Subject','Time'))
test %<>% decorate_groups
expect_identical(decorations_groups(test), character(0))
})
test_that('decorate_groups sets decorations sequentially',{
test <- data.frame(lapply(Theoph, type.convert, as.is = TRUE))
test %<>% decorate_groups(Subject, Time)
expect_true(attr(test$Time, 'groups') == 2)
})
test_that('decorate_groups honors defaults',{
test <- data.frame(lapply(Theoph, type.convert, as.is = TRUE))
test %<>% group_by(Subject, Time)
test %<>% decorate_groups
expect_identical(decorations_groups(test), c('Subject','Time'))
})
test_that('decorate_groups errors if column not present',{
test <- data.frame(lapply(Theoph, type.convert, as.is = TRUE))
expect_error(decorate_groups(test, Foo, Time))
})
test_that('decorations_groups recovers groups decorations as character',{
test <- data.frame(lapply(Theoph, type.convert, as.is = TRUE))
test %<>% decorate_groups(Subject, Time)
expect_true(is.character(decorations_groups(test)))
})
test_that('decorations_groups sorts groups decorations',{
test <- data.frame(lapply(Theoph, type.convert, as.is = TRUE))
test %<>% decorate_groups(Subject, Time)
test %<>% select(Time, everything())
expect_identical(decorations_groups(test), c('Subject','Time'))
})
test_that('decorations_groups warns missing indices',{
test <- data.frame(lapply(Theoph, type.convert, as.is = TRUE))
test$foo <- 1
test %<>% decorate_groups(Subject, foo, Time)
test$foo <- NULL
expect_warning(decorations_groups(test))
})
test_that('decorations_groups errors on non-integer',{
test <- data.frame(lapply(Theoph, type.convert, as.is = TRUE))
test %<>% modify(Subject, Time, groups = 2.5)
expect_error(decorations_groups(test))
})
test_that('decorations_groups warns duplicated indices',{
test <- data.frame(lapply(Theoph, type.convert, as.is = TRUE))
test %<>% modify(Subject, Time, groups = 2L)
expect_warning(decorations_groups(test))
})
test_that('group_by_decorations returns a tbl_df',{
test <- data.frame(lapply(Theoph, type.convert, as.is = TRUE))
expect_false(inherits(test, 'tbl_df'))
test %<>% group_by_decorations
expect_true(inherits(test, 'tbl_df'))
test %<>% decorate_groups(Subject, Time)
test %<>% group_by_decorations
expect_true(inherits(test, 'tbl_df'))
})
test_that('group_by_decorations honors NULL decorations',{
test <- data.frame(lapply(Theoph, type.convert, as.is = TRUE))
test %<>% group_by_decorations
expect_identical(groups(test), list())
})
test_that('group_by_decorations honors group decorations',{
test <- data.frame(lapply(Theoph, type.convert, as.is = TRUE))
test %<>% decorate_groups(Subject, Time)
test %<>% group_by_decorations
expect_identical(group_vars(test), c('Subject', 'Time'))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.