library(groupdata2)
context("group_factor()")
test_that("group sizes works with group_factor with method greedy", {
xpectr::set_test_seed(1)
group_counts <- function(v, n) {
gf <- group_factor(v, n, method = "greedy")
counts <- plyr::count(gf)
return(counts$freq)
}
v <- c(1:57)
expect_equal(group_counts(v, 17), c(17, 17, 17, 6))
expect_equal(group_counts(v, 10), c(10, 10, 10, 10, 10, 7))
expect_equal(group_counts(v, 8), c(8, 8, 8, 8, 8, 8, 8, 1))
expect_equal(group_counts(v, 3), c(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3))
expect_equal(group_counts(v, 0.2), c(11, 11, 11, 11, 11, 2))
expect_equal(group_counts(v, 0.25), c(14, 14, 14, 14, 1))
expect_equal(length(group_counts(v, 1)), 57)
v <- c(1:100)
expect_equal(group_counts(v, 0.25), c(25, 25, 25, 25))
expect_error(
xpectr::strip_msg(group_counts(v, 0.003)),
xpectr::strip("Assertion on 'n converted to whole number' failed: Must be >= 1."),
fixed = TRUE)
v <- c(1:3)
expect_error(
xpectr::strip_msg(group_counts(v, 17)),
xpectr::strip("Assertion on 'length(data) >= n' failed: Must be TRUE."),
fixed = TRUE)
expect_error(
xpectr::strip_msg(group_counts(v, 0)),
xpectr::strip(paste0("1 assertions failed:\n * 'n' was 0. If this is on purpose, ",
"set 'allow_zero' to 'TRUE'.")),
fixed = TRUE)
})
test_that("group sizes works with group_factor with method n_dist", {
xpectr::set_test_seed(1)
group_counts <- function(v, n) {
gf <- group_factor(v, n, method = "n_dist")
counts <- plyr::count(gf)
return(counts$freq)
}
v <- c(1:57)
expect_equal(group_counts(v, 1), 57)
expect_equal(group_counts(v, 2), c(28, 29))
expect_equal(group_counts(v, 3), c(19, 19, 19))
expect_equal(group_counts(v, 4), c(14, 14, 14, 15))
expect_equal(group_counts(v, 5), c(11, 11, 12, 11, 12))
expect_equal(group_counts(v, 17), c(3, 3, 4, 3, 3, 4, 3, 3, 4, 3, 3, 4, 3, 3, 4, 3, 4))
expect_equal(group_counts(v, 0.2), c(5, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6))
expect_equal(group_counts(v, 0.25), c(4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5))
expect_equal(length(group_counts(v, 1)), 1)
v <- c(1:100)
expect_error(
xpectr::strip_msg(group_counts(v, 0.003)),
xpectr::strip("Assertion on 'n converted to whole number' failed: Must be >= 1."),
fixed = TRUE)
v <- c(1:3)
expect_error(
xpectr::strip_msg(group_counts(v, 4)),
xpectr::strip("Assertion on 'length(data) >= n' failed: Must be TRUE."),
fixed = TRUE)
expect_error(
xpectr::strip_msg(group_counts(v, 0)),
xpectr::strip(paste0("1 assertions failed:\n * 'n' was 0. If this is on purpose, ",
"set 'allow_zero' to 'TRUE'.")),
fixed = TRUE)
})
test_that("group sizes works with group_factor with method n_fill", {
xpectr::set_test_seed(1)
group_counts <- function(v, n) {
gf <- group_factor(v, n, method = "n_fill")
counts <- plyr::count(gf)
return(counts$freq)
}
v <- c(1:57)
expect_equal(group_counts(v, 1), 57)
expect_equal(group_counts(v, 2), c(29, 28))
expect_equal(group_counts(v, 3), c(19, 19, 19))
expect_equal(group_counts(v, 4), c(15, 14, 14, 14))
expect_equal(group_counts(v, 5), c(12, 12, 11, 11, 11))
expect_equal(group_counts(v, 17), c(4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3))
expect_equal(group_counts(v, 0.2), c(6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5))
expect_equal(group_counts(v, 0.25), c(5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4))
expect_equal(length(group_counts(v, 1)), 1)
expect_equal(length(group_counts(v, 9)), 9)
expect_equal(length(group_counts(v, 57)), 57)
v <- c(1:100)
expect_error(
xpectr::strip_msg(group_counts(v, 0.003)),
xpectr::strip("Assertion on 'n converted to whole number' failed: Must be >= 1."),
fixed = TRUE)
v <- c(1:3)
expect_error(
xpectr::strip_msg(group_counts(v, 4)),
xpectr::strip("Assertion on 'length(data) >= n' failed: Must be TRUE."),
fixed = TRUE)
expect_error(
xpectr::strip_msg(group_counts(v, 0)),
xpectr::strip(paste0("1 assertions failed:\n * 'n' was 0. If this is on purpose, ",
"set 'allow_zero' to 'TRUE'.")),
fixed = TRUE)
})
test_that("group sizes works with group_factor with method n_rand", {
xpectr::set_test_seed(1)
count_groups <- function(v, n) {
gf <- group_factor(v, n, method = "n_rand")
counts <- plyr::count(gf)
return(length(counts$freq))
}
group_counts_sum <- function(v, n) {
gf <- group_factor(v, n, method = "n_fill")
counts <- plyr::count(gf)
return(sum(counts$freq))
}
v <- c(1:57)
expect_equal(count_groups(v, 1), 1)
expect_equal(count_groups(v, 2), 2)
expect_equal(count_groups(v, 3), 3)
expect_equal(count_groups(v, 4), 4)
expect_equal(count_groups(v, 5), 5)
expect_equal(count_groups(v, 11), 11)
expect_equal(count_groups(v, 57), 57)
expect_equal(group_counts_sum(v, 2), 57)
expect_equal(group_counts_sum(v, 3), 57)
expect_equal(group_counts_sum(v, 4), 57)
expect_equal(group_counts_sum(v, 5), 57)
expect_equal(group_counts_sum(v, 17), 57)
expect_equal(group_counts_sum(v, 0.2), 57)
expect_equal(group_counts_sum(v, 0.25), 57)
v <- c(1:100)
expect_error(
xpectr::strip_msg(group_counts_sum(v, 0.003)),
xpectr::strip("Assertion on 'n converted to whole number' failed: Must be >= 1."),
fixed = TRUE)
v <- c(1:3)
expect_error(
xpectr::strip_msg(group_counts_sum(v, 4)),
xpectr::strip("Assertion on 'length(data) >= n' failed: Must be TRUE."),
fixed = TRUE)
expect_error(
xpectr::strip_msg(group_counts_sum(v, 0)),
xpectr::strip(paste0("1 assertions failed:\n * 'n' was 0. If this is on purpose, ",
"set 'allow_zero' to 'TRUE'.")),
fixed = TRUE)
})
test_that("group sizes works with group_factor with method staircase", {
xpectr::set_test_seed(1)
group_counts <- function(v, n) {
gf <- group_factor(v, n, method = "staircase")
counts <- plyr::count(gf)
return(counts$freq)
}
count_groups <- function(v, n) {
gf <- group_factor(v, n, method = "staircase")
counts <- plyr::count(gf)
return(length(counts$freq))
}
group_counts_sum <- function(v, n) {
gf <- group_factor(v, n, method = "staircase")
counts <- plyr::count(gf)
return(sum(counts$freq))
}
v <- c(1:57)
expect_equal(group_counts(v, 4), c(4, 8, 12, 16, 17))
expect_equal(group_counts(v, 5), c(5, 10, 15, 20, 7))
expect_equal(group_counts(v, 10), c(10, 20, 27))
expect_equal(group_counts(v, 11), c(11, 22, 24))
expect_equal(count_groups(v, 1), 11)
expect_equal(count_groups(v, 2), 8)
expect_equal(count_groups(v, 3), 6)
expect_equal(count_groups(v, 4), 5)
expect_equal(count_groups(v, 5), 5)
expect_equal(count_groups(v, 11), 3)
expect_equal(count_groups(v, 56), 2)
expect_equal(count_groups(v, 57), 1)
expect_equal(group_counts_sum(v, 1), 57)
expect_equal(group_counts_sum(v, 2), 57)
expect_equal(group_counts_sum(v, 3), 57)
expect_equal(group_counts_sum(v, 4), 57)
expect_equal(group_counts_sum(v, 5), 57)
expect_equal(group_counts_sum(v, 17), 57)
expect_equal(group_counts_sum(v, 0.2), 57)
expect_equal(group_counts_sum(v, 0.25), 57)
v <- c(1:100)
expect_error(
xpectr::strip_msg(group_counts_sum(v, 0.003)),
xpectr::strip("Assertion on 'n converted to whole number' failed: Must be >= 1."),
fixed = TRUE)
v <- c(1:3)
expect_error(
xpectr::strip_msg(group_counts(v, 4)),
xpectr::strip("Assertion on 'length(data) >= n' failed: Must be TRUE."),
fixed = TRUE)
expect_error(
xpectr::strip_msg(group_counts(v, 0)),
xpectr::strip(paste0("1 assertions failed:\n * 'n' was 0. If this is on purpose, ",
"set 'allow_zero' to 'TRUE'.")),
fixed = TRUE)
expect_equal(group_counts(v, 2), c(2, 1))
expect_equal(group_counts(v, 0.5), c(1, 2))
})
test_that("group sizes works with group_factor with method primes", {
xpectr::set_test_seed(1)
group_counts <- function(v, n, force_equal = FALSE) {
gf <- group_factor(v, n, method = "primes", force_equal = force_equal)
counts <- plyr::count(gf)
return(counts$freq)
}
count_groups <- function(v, n, force_equal = FALSE) {
gf <- group_factor(v, n, method = "primes", force_equal = force_equal)
counts <- plyr::count(gf)
return(length(counts$freq))
}
group_counts_sum <- function(v, n, force_equal = FALSE) {
gf <- group_factor(v, n, method = "primes", force_equal = force_equal)
counts <- plyr::count(gf)
return(sum(counts$freq))
}
v <- c(1:57)
expect_equal(group_counts(v, 3), c(3, 5, 7, 11, 13, 17, 1))
expect_equal(group_counts(v, 5), c(5, 7, 11, 13, 17, 4))
expect_equal(group_counts(v, 11), c(11, 13, 17, 16))
expect_equal(count_groups(v, 2), 7)
expect_equal(count_groups(v, 3), 7)
expect_equal(count_groups(v, 5), 6)
expect_equal(group_counts_sum(v, 2), 57)
expect_equal(group_counts_sum(v, 3), 57)
expect_equal(group_counts_sum(v, 5), 57)
expect_equal(group_counts_sum(v, 17), 57)
expect_equal(group_counts_sum(v, 0.2), 57)
v <- c(1:100)
expect_error(
xpectr::strip_msg(group_counts_sum(v, 0.003)),
xpectr::strip("Assertion on 'n converted to whole number' failed: Must be >= 1."),
fixed = TRUE)
v <- c(1:3)
expect_error(
xpectr::strip_msg(group_counts(v, 4)),
xpectr::strip("Assertion on 'length(data) >= n' failed: Must be TRUE."),
fixed = TRUE)
expect_error(
xpectr::strip_msg(group_counts(v, 0)),
xpectr::strip(paste0("1 assertions failed:\n * 'n' was 0. If this is on purpose, ",
"set 'allow_zero' to 'TRUE'.")),
fixed = TRUE)
expect_equal(group_counts(v, 2), c(2, 1))
expect_equal(group_counts(v, 0.67), c(2, 1))
# force_equal
v <- c(1:83)
# Note: 83 %primes% 11 == 0, so tests force equal when no excessive elements to cut
expect_equal(
group_counts(v, 11, force_equal = TRUE),
group_counts(v, 11, force_equal = FALSE)
)
# When excessive elements
expect_equal(group_counts(v, 17, force_equal = FALSE), c(17, 19, 23, 24))
expect_equal(group_counts(v, 17, force_equal = TRUE), c(17, 19, 23))
})
test_that("group sizes works with group_factor with method l_sizes", {
xpectr::set_test_seed(1)
group_f <- function(v, n) {
return(group_factor(v, n, method = "l_sizes"))
}
group_counts <- function(v, n) {
gf <- group_factor(v, n, method = "l_sizes")
counts <- plyr::count(gf)
return(counts$freq)
}
expect_equal(group_f(c(1:10), c(0.2)), factor(c(1, 1, 2, 2, 2, 2, 2, 2, 2, 2)))
expect_equal(group_f(c(1:11), c(0.2)), factor(c(1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2)))
expect_equal(group_f(c(1:14), c(0.2)), factor(c(1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)))
expect_equal(group_f(c(1:15), c(0.2)), factor(c(1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)))
expect_equal(group_f(c(1:2), c(0.2, 0.5)), factor(c(2, 3)))
expect_equal(group_counts(c(1:200), c(20, 20, 40, 40)), c(20, 20, 40, 40, 80))
expect_equal(group_counts(c(1:200), c(0.5)), c(100, 100))
expect_equal(group_counts(c(1:200), c(0.55)), c(110, 90))
expect_equal(group_counts(c(1:200), c(0.555)), c(111, 89))
})
test_that("group sizes works with group_factor with method l_starts", {
xpectr::set_test_seed(1)
group_f <- function(v, n) {
return(group_factor(v, n, method = "l_starts"))
}
expect_equal(
group_f(c(1:10), list(3, 5, 7)),
factor(c(1, 1, 2, 2, 3, 3, 4, 4, 4, 4))
)
expect_equal(
group_f(rep(c(1:5), 2), list(3, c(4, 2))),
factor(c(1, 1, 2, 2, 2, 2, 2, 2, 3, 3))
)
expect_equal(
group_f(rep(c(1:5), 2), list(1, 3, c(4, 2))),
factor(c(1, 1, 2, 2, 2, 2, 2, 2, 3, 3))
)
expect_equal(
group_f(
c("a", "b", "a", "b", "a", "b"),
list("a", c("b", 2), "b")
),
factor(c(1, 1, 1, 2, 2, 3))
)
expect_equal(
group_f(
c("a", "b", "a", "b", "a", "b"),
list(c("b", 2), "b")
),
factor(c(1, 1, 1, 2, 2, 3))
)
# n = 'auto'
expect_equal(
group_f(c(1:10), "auto"),
factor(c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
)
expect_equal(
group_f(c(1, 1, 2, 2, 3, 3, 4, 5, 1, 1, 2, 2), "auto"),
factor(c(1, 1, 2, 2, 3, 3, 4, 5, 6, 6, 7, 7))
)
expect_equal(
group_f(c("a", "a", "b", "b", "c", "3", "4", "4", "c"), "auto"),
factor(c(1, 1, 2, 2, 3, 4, 5, 5, 6))
)
# with NAs
expect_equal(
group_f(c("a", "a", "b", "b", NA, NA, "c", "3", "4", NA, "4", "c"), "auto"),
factor(c(1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9))
)
expect_equal(
group_f(c(NA, NA, "a", "a", "b", "b", "c", "3", "4", NA, "4", "c"), "auto"),
factor(c(1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9))
)
expect_equal(
group_f(c(NA, "a", "a", "b", "b", "c", "3", "4", NA, "4", "c", NA, NA), "auto"),
factor(c(1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10, 10))
)
# If factor
## Testing 'group_f(factor(c(1:10)), list(3, 5, 7))' ####
## Initially generated by xpectr
xpectr::set_test_seed(42)
# Testing side effects
# Assigning side effects
side_effects_19148 <- xpectr::capture_side_effects(group_f(factor(c(1:10)), list(3, 5, 7)), reset_seed = TRUE)
expect_equal(
xpectr::strip(side_effects_19148[['warnings']]),
xpectr::strip("'data' is a factor. Converting to character."),
fixed = TRUE)
expect_equal(
xpectr::strip(side_effects_19148[['messages']]),
xpectr::strip(character(0)),
fixed = TRUE)
# Assigning output
output_19148 <- xpectr::suppress_mw(group_f(factor(c(1:10)), list(3, 5, 7)))
# Testing is factor
expect_true(
is.factor(output_19148))
# Testing values
expect_equal(
as.character(output_19148),
c("1", "1", "2", "2", "3", "3", "4", "4", "4", "4"),
fixed = TRUE)
# Testing names
expect_equal(
names(output_19148),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_19148),
10L)
# Testing number of levels
expect_equal(
nlevels(output_19148),
4L)
# Testing levels
expect_equal(
levels(output_19148),
c("1", "2", "3", "4"),
fixed = TRUE)
## Finished testing 'group_f(factor(c(1:10)), list(3, 5, 7))' ####
## Testing 'group_f(factor(rep(c(1:5), 2)), list(3, c(4,...' ####
## Initially generated by xpectr
xpectr::set_test_seed(42)
# Testing side effects
# Assigning side effects
side_effects_19148 <- xpectr::capture_side_effects(group_f(factor(rep(c(1:5), 2)), list(3, c(4, 2))), reset_seed = TRUE)
expect_equal(
xpectr::strip(side_effects_19148[['warnings']]),
xpectr::strip("'data' is a factor. Converting to character."),
fixed = TRUE)
expect_equal(
xpectr::strip(side_effects_19148[['messages']]),
xpectr::strip(character(0)),
fixed = TRUE)
# Assigning output
output_19148 <- xpectr::suppress_mw(group_f(factor(rep(c(1:5), 2)), list(3, c(4, 2))))
# Testing is factor
expect_true(
is.factor(output_19148))
# Testing values
expect_equal(
as.character(output_19148),
c("1", "1", "2", "2", "2", "2", "2", "2", "3", "3"),
fixed = TRUE)
# Testing names
expect_equal(
names(output_19148),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_19148),
10L)
# Testing number of levels
expect_equal(
nlevels(output_19148),
3L)
# Testing levels
expect_equal(
levels(output_19148),
c("1", "2", "3"),
fixed = TRUE)
## Finished testing 'group_f(factor(rep(c(1:5), 2)), list(3, c(4,...' ####
## Testing 'group_f(factor(rep(c(1:5), 2)),list(1, 3, c(...' ####
## Initially generated by xpectr
xpectr::set_test_seed(42)
# Testing side effects
# Assigning side effects
side_effects_19148 <- xpectr::capture_side_effects(group_f(factor(rep(c(1:5), 2)),list(1, 3, c(4, 2))), reset_seed = TRUE)
expect_equal(
xpectr::strip(side_effects_19148[['warnings']]),
xpectr::strip("'data' is a factor. Converting to character."),
fixed = TRUE)
expect_equal(
xpectr::strip(side_effects_19148[['messages']]),
xpectr::strip(character(0)),
fixed = TRUE)
# Assigning output
output_19148 <- xpectr::suppress_mw(group_f(factor(rep(c(1:5), 2)),list(1, 3, c(4, 2))))
# Testing is factor
expect_true(
is.factor(output_19148))
# Testing values
expect_equal(
as.character(output_19148),
c("1", "1", "2", "2", "2", "2", "2", "2", "3", "3"),
fixed = TRUE)
# Testing names
expect_equal(
names(output_19148),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_19148),
10L)
# Testing number of levels
expect_equal(
nlevels(output_19148),
3L)
# Testing levels
expect_equal(
levels(output_19148),
c("1", "2", "3"),
fixed = TRUE)
## Finished testing 'group_f(factor(rep(c(1:5), 2)),list(1, 3, c(...' ####
## Testing 'group_f(factor(c("a", "b", "a", "b", "a", "b...' ####
## Initially generated by xpectr
xpectr::set_test_seed(42)
# Testing side effects
# Assigning side effects
side_effects_19148 <- xpectr::capture_side_effects(group_f(factor(c("a", "b", "a", "b", "a", "b")), list("a", c("b", 2), "b")), reset_seed = TRUE)
expect_equal(
xpectr::strip(side_effects_19148[['warnings']]),
xpectr::strip("'data' is a factor. Converting to character."),
fixed = TRUE)
expect_equal(
xpectr::strip(side_effects_19148[['messages']]),
xpectr::strip(character(0)),
fixed = TRUE)
# Assigning output
output_19148 <- xpectr::suppress_mw(group_f(factor(c("a", "b", "a", "b", "a", "b")), list("a", c("b", 2), "b")))
# Testing is factor
expect_true(
is.factor(output_19148))
# Testing values
expect_equal(
as.character(output_19148),
c("1", "1", "1", "2", "2", "3"),
fixed = TRUE)
# Testing names
expect_equal(
names(output_19148),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_19148),
6L)
# Testing number of levels
expect_equal(
nlevels(output_19148),
3L)
# Testing levels
expect_equal(
levels(output_19148),
c("1", "2", "3"),
fixed = TRUE)
## Finished testing 'group_f(factor(c("a", "b", "a", "b", "a", "b...' ####
## Testing 'group_f(factor(c("a", "b", "a", "b", "a", "b...' ####
## Initially generated by xpectr
xpectr::set_test_seed(42)
# Testing side effects
# Assigning side effects
side_effects_19148 <- xpectr::capture_side_effects(group_f(factor(c("a", "b", "a", "b", "a", "b")), list(c("b", 2), "b")), reset_seed = TRUE)
expect_equal(
xpectr::strip(side_effects_19148[['warnings']]),
xpectr::strip("'data' is a factor. Converting to character."),
fixed = TRUE)
expect_equal(
xpectr::strip(side_effects_19148[['messages']]),
xpectr::strip(character(0)),
fixed = TRUE)
# Assigning output
output_19148 <- xpectr::suppress_mw(group_f(factor(c("a", "b", "a", "b", "a", "b")), list(c("b", 2), "b")))
# Testing is factor
expect_true(
is.factor(output_19148))
# Testing values
expect_equal(
as.character(output_19148),
c("1", "1", "1", "2", "2", "3"),
fixed = TRUE)
# Testing names
expect_equal(
names(output_19148),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_19148),
6L)
# Testing number of levels
expect_equal(
nlevels(output_19148),
3L)
# Testing levels
expect_equal(
levels(output_19148),
c("1", "2", "3"),
fixed = TRUE)
## Finished testing 'group_f(factor(c("a", "b", "a", "b", "a", "b...' ####
# n = 'auto'
# Raises warning because find_starts converts factor to string
expect_warning(
expect_equal(
group_f(factor(c("a", "a", "b", "b", "c", "3", "4", "4", "c")), "auto"),
factor(c(1, 1, 2, 2, 3, 4, 5, 5, 6))
),
"'data' is a factor. Converting to character.",
fixed = TRUE
)
expect_warning(
expect_equal(
group_f(factor(c(1, 1, 2, 2, 3, 4, 4, 5, 5, 5)), "auto"),
factor(c(1, 1, 2, 2, 3, 4, 4, 5, 5, 5))
),
"'data' is a factor. Converting to character.",
fixed = TRUE
)
})
test_that("group sizes works with group_factor with method every", {
xpectr::set_test_seed(1)
v <- c(1:17)
gf <- group_factor(v, n = 5, method = "every")
## Testing 'gf' ####
## Initially generated by xpectr
xpectr::set_test_seed(42)
# Testing is factor
expect_true(
is.factor(gf))
# Testing values
expect_equal(
as.character(gf),
c("1", "2", "3", "4", "5", "1", "2",
"3", "4", "5", "1", "2", "3",
"4", "5", "1", "2"),
fixed = TRUE)
# Testing names
expect_equal(
names(gf),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(gf),
17L)
# Testing number of levels
expect_equal(
nlevels(gf),
5L)
# Testing levels
expect_equal(
levels(gf),
c("1", "2", "3", "4", "5"),
fixed = TRUE)
## Finished testing 'gf' ####
# Expect only 17 - (17 %% 3) = 15 elements after force_equal
gf <- group_factor(v, n = 3, method = "every", force_equal = TRUE)
## Testing 'gf' ####
## Initially generated by xpectr
xpectr::set_test_seed(42)
# Testing is factor
expect_true(
is.factor(gf))
# Testing values
expect_equal(
as.character(gf),
c("1", "2", "3", "1", "2", "3", "1",
"2", "3", "1", "2", "3", "1",
"2", "3"),
fixed = TRUE)
# Testing names
expect_equal(
names(gf),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(gf),
15L)
# Testing number of levels
expect_equal(
nlevels(gf),
3L)
# Testing levels
expect_equal(
levels(gf),
c("1", "2", "3"),
fixed = TRUE)
## Finished testing 'gf' ####
# Test group counts for a variety of settings
v <- c(1:57)
group_counts <- function(v, n) {
gf <- group_factor(v, n, method = "every")
counts <- plyr::count(gf)
counts$freq
}
expect_equal(group_counts(v, 2), c(29, 28))
expect_equal(group_counts(v, 3), c(19, 19, 19))
expect_equal(group_counts(v, 4), c(15,14,14,14))
expect_equal(group_counts(v, 5), c(12, 12, 11, 11, 11))
expect_equal(group_counts(v, 0.15), c(8, 7, 7, 7, 7, 7, 7, 7))
})
test_that("l_starts raises error correctly when value is not found", {
xpectr::set_test_seed(1)
expect_error(group(c(1:5), c(1, 3, 6), method = "l_starts"),
"Start value \"6\" not found in vector",
fixed = TRUE
)
expect_error(group(c("a", "b", "c", "d"), n = c(1, 3, 6), method = "l_starts"),
"Start value \"1\" not found in vector",
fixed = TRUE
)
expect_error(group(c("a", "b", "c", "d"), n = c("b", "d", "e"), method = "l_starts"),
"Start value \"e\" not found in vector",
fixed = TRUE
)
expect_error(group(c(3, 4, 5, 6), n = c(2, 4, 5), method = "l_starts"),
"Start value \"2\" not found in vector",
fixed = TRUE
)
df <- data.frame(
"a" = c(1, 2, 3, 4),
"b" = c(4, 5, 6, 7),
stringsAsFactors = FALSE
)
# Testing side effect
expect_error(xpectr::strip_msg(group(
df,
n = c(2, 4),
method = "l_starts",
starts_col = "c"
)),
xpectr::strip(
paste0(
"1 assertions failed:\n * 'starts_col' column, 'c', not foun",
"d in 'data'."
)
),
fixed = TRUE)
# Negative numbers in n
## Testing 'group(c(3, -3, 5, 6), n = c(-3, 5), method =...' ####
## Initially generated by xpectr
xpectr::set_test_seed(42)
# Assigning output
output_12655 <- group(c(3, -3, 5, 6), n = c(-3, 5), method = "l_starts")
# Testing class
expect_equal(
class(output_12655),
c("grouped_df", "tbl_df", "tbl", "data.frame"),
fixed = TRUE)
# Testing column values
expect_equal(
output_12655[["data"]],
c(3, -3, 5, 6),
tolerance = 1e-4)
expect_equal(
output_12655[[".groups"]],
structure(c(1L, 2L, 3L, 3L), .Label = c("1", "2", "3"), class = "factor"))
# Testing column names
expect_equal(
names(output_12655),
c("data", ".groups"),
fixed = TRUE)
# Testing column classes
expect_equal(
xpectr::element_classes(output_12655),
c("numeric", "factor"),
fixed = TRUE)
# Testing column types
expect_equal(
xpectr::element_types(output_12655),
c("double", "integer"),
fixed = TRUE)
# Testing dimensions
expect_equal(
dim(output_12655),
c(4L, 2L))
# Testing group keys
expect_equal(
colnames(dplyr::group_keys(output_12655)),
".groups",
fixed = TRUE)
## Finished testing 'group(c(3, -3, 5, 6), n = c(-3, 5), method =...' ####
})
test_that("force_equal works with group_factor with all methods", {
xpectr::set_test_seed(1)
group_counts <- function(v, n, method) {
gf <- group_factor(v, n, method, force_equal = TRUE)
counts <- plyr::count(gf)
return(counts$freq)
}
count_groups <- function(v, n, method) {
gf <- group_factor(v, n, method = method, force_equal = TRUE)
counts <- plyr::count(gf)
return(length(counts$freq))
}
v <- c(1:57)
expect_equal(group_counts(v, 10, "greedy"), c(10, 10, 10, 10, 10))
expect_equal(group_counts(v, 8, "greedy"), c(8, 8, 8, 8, 8, 8, 8))
expect_equal(group_counts(v, 13, "greedy"), c(13, 13, 13, 13))
expect_equal(group_counts(v, 0.5, "greedy"), c(28, 28))
expect_equal(group_counts(v, 0.267, "greedy"), c(15, 15, 15))
expect_equal(count_groups(v, 2, "greedy"), 28)
expect_equal(count_groups(v, 7, "greedy"), 8)
expect_equal(count_groups(v, 5, "greedy"), 11)
expect_equal(group_counts(v, 10, "n_dist"), c(5, 5, 5, 5, 5, 5, 5, 5, 5, 5))
expect_equal(group_counts(v, 8, "n_dist"), c(7, 7, 7, 7, 7, 7, 7, 7))
expect_equal(group_counts(v, 5, "n_dist"), c(11, 11, 11, 11, 11))
expect_equal(count_groups(v, 2, "n_dist"), 2)
expect_equal(count_groups(v, 7, "n_dist"), 7)
expect_equal(count_groups(v, 5, "n_dist"), 5)
expect_equal(group_counts(v, 10, "n_fill"), c(5, 5, 5, 5, 5, 5, 5, 5, 5, 5))
expect_equal(group_counts(v, 8, "n_fill"), c(7, 7, 7, 7, 7, 7, 7, 7))
expect_equal(group_counts(v, 5, "n_fill"), c(11, 11, 11, 11, 11))
expect_equal(count_groups(v, 2, "n_fill"), 2)
expect_equal(count_groups(v, 7, "n_fill"), 7)
expect_equal(count_groups(v, 5, "n_fill"), 5)
expect_equal(group_counts(v, 10, "n_last"), c(5, 5, 5, 5, 5, 5, 5, 5, 5, 5))
expect_equal(group_counts(v, 8, "n_last"), c(7, 7, 7, 7, 7, 7, 7, 7))
expect_equal(group_counts(v, 5, "n_last"), c(11, 11, 11, 11, 11))
expect_equal(count_groups(v, 2, "n_last"), 2)
expect_equal(count_groups(v, 7, "n_last"), 7)
expect_equal(count_groups(v, 5, "n_last"), 5)
expect_equal(group_counts(v, 10, "n_rand"), c(5, 5, 5, 5, 5, 5, 5, 5, 5, 5))
expect_equal(group_counts(v, 8, "n_rand"), c(7, 7, 7, 7, 7, 7, 7, 7))
expect_equal(group_counts(v, 5, "n_rand"), c(11, 11, 11, 11, 11))
expect_equal(count_groups(v, 2, "n_rand"), 2)
expect_equal(count_groups(v, 7, "n_rand"), 7)
expect_equal(count_groups(v, 5, "n_rand"), 5)
expect_equal(group_counts(v, 10, "staircase"), c(10, 20))
expect_equal(group_counts(v, 8, "staircase"), c(8, 16, 24))
expect_equal(group_counts(v, 13, "staircase"), c(13, 26))
expect_equal(group_counts(v, 3, "staircase"), c(3, 6, 9, 12, 15))
expect_equal(group_counts(v, 11, "primes"), c(11, 13, 17))
expect_equal(group_counts(v, 23, "primes"), c(23, 29))
expect_equal(group_counts(v, 29, "primes"), c(29))
expect_equal(group_counts(v, 2, "primes"), c(2, 3, 5, 7, 11, 13))
expect_equal(group_counts(v, 2, "l_sizes"), c(2))
expect_equal(group_counts(v, 0.2, "l_sizes"), c(11))
expect_equal(group_counts(v, list(0.2, 0.3), "l_sizes"), c(11, 17))
expect_equal(group_counts(v, c(0.2, 0.3), "l_sizes"), c(11, 17))
})
test_that("allow_zero works with group_factor", {
xpectr::set_test_seed(1)
v <- c(1:3)
expect_equal(group_factor(v, 0, allow_zero = TRUE), c(NA, NA, NA))
expect_is(group_factor(v, 0, allow_zero = TRUE), "logical")
expect_equal(group_factor(1, 0, allow_zero = TRUE), NA)
})
test_that("l_sizes works with no groups", {
xpectr::set_test_seed(1)
expect_equal(group_factor(c(1:3), 0.2, method = "l_sizes"), factor(c(2, 2, 2)))
expect_warning(group_factor(c(1:3), 0.2, method = "l_sizes", force_equal = TRUE), "No groups. Returned NA.", fixed = TRUE)
})
# Test descending when it has been implemented in all relevant methods
test_that("fuzz testing input checks for n_dist method in group_factor()", {
xpectr::set_test_seed(1)
df <- data.frame(
"n" = c(1, 2, 3, 4, 2, 1, 5, 2, 1, 9),
"s" = c(4, 4, 6, 6, 7, 7, 7, 8, 8, 1),
"c" = as.character(c(4, 4, 6, 6, 7, 7, 7, 8, 8, 1)),
"f" = as.factor(as.character(c(4, 4, 6, 6, 7, 7, 7, 8, 8, 1))),
stringsAsFactors = FALSE
)
group_counts <- function(...) {
gf <- group_factor(...)
counts <- plyr::count(gf)
counts$freq
}
# Tests focused on n_dist method
xpectr::set_test_seed(1)
# xpectr::gxs_function(group_counts,
# args_values = list(
# "data" = list(df, df$s, df$c, df$f, NA, 1),
# "n" = list(3, 0.4, c(0.2, 4), "hej", "auto"),
# "method" = list("n_dist", "l_sizes", "l_starts"),
# "starts_col" = list(NULL, "s", "f"),
# "force_equal" = list(FALSE, TRUE),
# "allow_zero" = list(FALSE, TRUE),
# "descending" = list(FALSE, TRUE),
# "randomize" = list(FALSE, TRUE),
# "remove_missing_starts" = list(FALSE, TRUE)
# ), indentation = 2)
## Testing 'group_counts' ####
## Initially generated by xpectr
# Testing different combinations of argument values
# Testing group_counts(data = df, n = 3, method = "n_dis...
xpectr::set_test_seed(42)
# Assigning output
output_12655 <- group_counts(data = df, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_12655),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_12655,
type = "integer")
# Testing values
expect_equal(
output_12655,
c(3, 3, 4),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_12655),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_12655),
3L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_12655)),
3L)
# Testing group_counts(data = df, n = 3, method = "n_dis...
# Changed from baseline: allow_zero
xpectr::set_test_seed(42)
# Assigning output
output_13721 <- group_counts(data = df, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = TRUE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_13721),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_13721,
type = "integer")
# Testing values
expect_equal(
output_13721,
c(3, 3, 4),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_13721),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_13721),
3L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_13721)),
3L)
# Testing group_counts(data = df, n = 3, method = "n_dis...
# Changed from baseline: allow_zero
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = NULL, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * Variable 'allow_zero': Must be of ",
"type 'logical flag', not 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df$s, n = 3, method = "n_d...
# Changed from baseline: data
xpectr::set_test_seed(42)
# Assigning output
output_19082 <- group_counts(data = df$s, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_19082),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_19082,
type = "integer")
# Testing values
expect_equal(
output_19082,
c(3, 3, 4),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_19082),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_19082),
3L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_19082)),
3L)
# Testing group_counts(data = df$c, n = 3, method = "n_d...
# Changed from baseline: data
xpectr::set_test_seed(42)
# Assigning output
output_12016 <- group_counts(data = df$c, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_12016),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_12016,
type = "integer")
# Testing values
expect_equal(
output_12016,
c(3, 3, 4),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_12016),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_12016),
3L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_12016)),
3L)
# Testing group_counts(data = df$f, n = 3, method = "n_d...
# Changed from baseline: data
xpectr::set_test_seed(42)
# Assigning output
output_18983 <- group_counts(data = df$f, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_18983),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_18983,
type = "integer")
# Testing values
expect_equal(
output_18983,
c(3, 3, 4),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_18983),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_18983),
3L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_18983)),
3L)
# Testing group_counts(data = NA, n = 3, method = "n_dis...
# Changed from baseline: data
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = NA, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("1 assertions failed:\n * 'data' cannot be 'NA'."),
fixed = TRUE)
# Testing group_counts(data = 1, n = 3, method = "n_dist...
# Changed from baseline: data
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = 1, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("Assertion on 'length(data) >= n' failed: Must be TRUE."),
fixed = TRUE)
# Testing group_counts(data = NULL, n = 3, method = "n_d...
# Changed from baseline: data
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = NULL, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("1 assertions failed:\n * 'data' cannot be 'NULL'"),
fixed = TRUE)
# Testing group_counts(data = df, n = 3, method = "n_dis...
# Changed from baseline: descending
xpectr::set_test_seed(42)
# Assigning output
output_10617 <- group_counts(data = df, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = TRUE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_10617),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_10617,
type = "integer")
# Testing values
expect_equal(
output_10617,
c(3, 3, 4),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_10617),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_10617),
3L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_10617)),
3L)
# Testing group_counts(data = df, n = 3, method = "n_dis...
# Changed from baseline: descending
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = NULL, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * Variable 'descending': Must be of ",
"type 'logical flag', not 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = 3, method = "n_dis...
# Changed from baseline: force_equal
xpectr::set_test_seed(42)
# Assigning output
output_11765 <- group_counts(data = df, n = 3, method = "n_dist", starts_col = NULL, force_equal = TRUE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_11765),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_11765,
type = "integer")
# Testing values
expect_equal(
output_11765,
c(3, 3, 3),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_11765),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_11765),
3L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_11765)),
3L)
# Testing group_counts(data = df, n = 3, method = "n_dis...
# Changed from baseline: force_equal
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = 3, method = "n_dist", starts_col = NULL, force_equal = NULL, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * Variable 'force_equal': Must be of",
" type 'logical flag', not 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = 3, method = "l_siz...
# Changed from baseline: method
xpectr::set_test_seed(42)
# Assigning output
output_13841 <- group_counts(data = df, n = 3, method = "l_sizes", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_13841),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_13841,
type = "integer")
# Testing values
expect_equal(
output_13841,
c(3, 7),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_13841),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_13841),
2L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_13841)),
2L)
# Testing group_counts(data = df, n = 3, method = "l_sta...
# Changed from baseline: method
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = 3, method = "l_starts", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * when 'method' is 'l_starts' and 'd",
"ata' is a data.frame, 'starts_col' must be specified.")),
fixed = TRUE)
# Testing group_counts(data = df, n = 3, method = NULL, ...
# Changed from baseline: method
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = 3, method = NULL, starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * Variable 'method': Must be of type",
" 'string', not 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = 0.4, method = "n_d...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Assigning output
output_17176 <- group_counts(data = df, n = 0.4, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_17176),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_17176,
type = "integer")
# Testing values
expect_equal(
output_17176,
c(2, 3, 2, 3),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_17176),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_17176),
4L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_17176)),
4L)
# Testing group_counts(data = df, n = c(0.2, 4), method ...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = c(0.2, 4), method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("when 'method' is 'n_dist', 'n' must be numeric scalar."),
fixed = TRUE)
# Testing group_counts(data = df, n = "hej", method = "n...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "hej", method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("1 assertions failed:\n * 'n' can only be character when method is 'l_starts'."),
fixed = TRUE)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "auto", method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("1 assertions failed:\n * 'n' can only be character when method is 'l_starts'."),
fixed = TRUE)
# Testing group_counts(data = df, n = NULL, method = "n_...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = NULL, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("1 assertions failed:\n * 'n' cannot be 'NULL'"),
fixed = TRUE)
# Testing group_counts(data = df, n = 3, method = "n_dis...
# Changed from baseline: randomize
xpectr::set_test_seed(42)
# Assigning output
output_12121 <- group_counts(data = df, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = TRUE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_12121),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_12121,
type = "integer")
# Testing values
expect_equal(
output_12121,
c(3, 3, 4),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_12121),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_12121),
3L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_12121)),
3L)
# Testing group_counts(data = df, n = 3, method = "n_dis...
# Changed from baseline: randomize
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = NULL, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * Variable 'randomize': Must be of t",
"ype 'logical flag', not 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = 3, method = "n_dis...
# Changed from baseline: remove_missing_starts
xpectr::set_test_seed(42)
# Assigning output
output_11255 <- group_counts(data = df, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = TRUE)
# Testing class
expect_equal(
class(output_11255),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_11255,
type = "integer")
# Testing values
expect_equal(
output_11255,
c(3, 3, 4),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_11255),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_11255),
3L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_11255)),
3L)
# Testing group_counts(data = df, n = 3, method = "n_dis...
# Changed from baseline: remove_missing_starts
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = 3, method = "n_dist", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = NULL)),
xpectr::strip(paste0("1 assertions failed:\n * Variable 'remove_missing_starts': ",
"Must be of type 'logical flag', not 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = 3, method = "n_dis...
# Changed from baseline: starts_col
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = 3, method = "n_dist", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * when method is not 'l_starts', 'st",
"arts_col' must be 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = 3, method = "n_dis...
# Changed from baseline: starts_col
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = 3, method = "n_dist", starts_col = "f", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * when method is not 'l_starts', 'st",
"arts_col' must be 'NULL'.")),
fixed = TRUE)
## Finished testing 'group_counts' ####
#
})
test_that("fuzz testing input checks for l_starts method in group_factor()", {
xpectr::set_test_seed(1)
df <- data.frame(
"n" = c(1, 2, 3, 4, 2, 1, 5, 2, 1, 9),
"s" = c(4, 4, 6, 6, 7, 7, 7, 8, 8, 1),
"c" = as.character(c(4, 4, 6, 6, 7, 7, 7, 8, 8, 1)),
"f" = as.factor(as.character(c(4, 4, 6, 6, 7, 7, 7, 8, 8, 1))),
stringsAsFactors = FALSE
)
group_counts <- function(...) {
gf <- group_factor(...)
counts <- plyr::count(gf)
counts$freq
}
# Tests focused on n_dist method
xpectr::set_test_seed(1)
# xpectr::gxs_function(group_counts,
# args_values = list(
# "data" = list(df, df$s, df$c, df$f, NA, 1),
# "n" = list("auto", list(6, c(7, 2)), 7, 3, 0.4,
# c(0.2, 4), 0, "hej"),
# "method" = list("l_starts", "l_sizes", "n_dist"),
# "starts_col" = list("s", "f", NA),
# "force_equal" = list(FALSE, TRUE),
# "allow_zero" = list(FALSE, TRUE),
# "descending" = list(FALSE, TRUE),
# "randomize" = list(FALSE, TRUE),
# "remove_missing_starts" = list(FALSE, TRUE)
# ), indentation = 2)
## Testing 'group_counts' ####
## Initially generated by xpectr
# Testing different combinations of argument values
# Testing group_counts(data = df, n = "auto", method = "...
xpectr::set_test_seed(42)
# Assigning output
output_12655 <- group_counts(data = df, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_12655),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_12655,
type = "integer")
# Testing values
expect_equal(
output_12655,
c(2, 2, 3, 2, 1),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_12655),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_12655),
5L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_12655)),
5L)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: allow_zero
xpectr::set_test_seed(42)
# Assigning output
output_13721 <- group_counts(data = df, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = TRUE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_13721),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_13721,
type = "integer")
# Testing values
expect_equal(
output_13721,
c(2, 2, 3, 2, 1),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_13721),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_13721),
5L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_13721)),
5L)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: allow_zero
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = NULL, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * Variable 'allow_zero': Must be of ",
"type 'logical flag', not 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df$s, n = "auto", method =...
# Changed from baseline: data
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df$s, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * when 'starts_col' is specified, 'd",
"ata' must be a data.frame.")),
fixed = TRUE)
# Testing group_counts(data = df$c, n = "auto", method =...
# Changed from baseline: data
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df$c, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * when 'starts_col' is specified, 'd",
"ata' must be a data.frame.")),
fixed = TRUE)
# Testing group_counts(data = df$f, n = "auto", method =...
# Changed from baseline: data
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df$f, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * when 'starts_col' is specified, 'd",
"ata' must be a data.frame.")),
fixed = TRUE)
# Testing group_counts(data = NA, n = "auto", method = "...
# Changed from baseline: data
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = NA, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("1 assertions failed:\n * 'data' cannot be 'NA'."),
fixed = TRUE)
# Testing group_counts(data = 1, n = "auto", method = "l...
# Changed from baseline: data
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = 1, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * when 'starts_col' is specified, 'd",
"ata' must be a data.frame.")),
fixed = TRUE)
# Testing group_counts(data = NULL, n = "auto", method =...
# Changed from baseline: data
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = NULL, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("1 assertions failed:\n * 'data' cannot be 'NULL'"),
fixed = TRUE)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: descending
xpectr::set_test_seed(42)
# Assigning output
output_10617 <- group_counts(data = df, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = TRUE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_10617),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_10617,
type = "integer")
# Testing values
expect_equal(
output_10617,
c(2, 2, 3, 2, 1),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_10617),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_10617),
5L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_10617)),
5L)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: descending
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = NULL, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * Variable 'descending': Must be of ",
"type 'logical flag', not 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: force_equal
xpectr::set_test_seed(42)
# Assigning output
output_11765 <- group_counts(data = df, n = "auto", method = "l_starts", starts_col = "s", force_equal = TRUE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_11765),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_11765,
type = "integer")
# Testing values
expect_equal(
output_11765,
c(2, 2, 3, 2, 1),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_11765),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_11765),
5L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_11765)),
5L)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: force_equal
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "auto", method = "l_starts", starts_col = "s", force_equal = NULL, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * Variable 'force_equal': Must be of",
" type 'logical flag', not 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: method
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "auto", method = "l_sizes", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("2 assertions failed:\n * 'n' can only be character when met",
"hod is 'l_starts'.\n * when method is not 'l_starts', 'start",
"s_col' must be 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: method
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "auto", method = "n_dist", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("2 assertions failed:\n * 'n' can only be character when method is 'l_starts'.\n * when method is not 'l_starts', 'starts_col' must be 'NULL'."),
fixed = TRUE)
# Testing group_counts(data = df, n = "auto", method = N...
# Changed from baseline: method
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "auto", method = NULL, starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * Variable 'method': Must be of type",
" 'string', not 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = c(0.2, 4), method ...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = c(0.2, 4), method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("group_factor: Start value \"0.2\" not found in vector."),
fixed = TRUE)
# Testing group_counts(data = df, n = 0, method = "l_sta...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = 0, method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * 'n' was 0. If this is on purpose, ",
"set 'allow_zero' to 'TRUE'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = "hej", method = "l...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "hej", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("group_factor: Start value \"hej\" not found in vector."),
fixed = TRUE)
# Testing group_counts(data = df, n = list(6, c(7, 2)), ...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Assigning output
output_17774 <- group_counts(data = df, n = list(6, c(7, 2)), method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_17774),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_17774,
type = "integer")
# Testing values
expect_equal(
output_17774,
c(2, 3, 5),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_17774),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_17774),
3L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_17774)),
3L)
# Testing group_counts(data = df, n = 7, method = "l_sta...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Assigning output
output_19347 <- group_counts(data = df, n = 7, method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_19347),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_19347,
type = "integer")
# Testing values
expect_equal(
output_19347,
c(4, 6),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_19347),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_19347),
2L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_19347)),
2L)
# Testing group_counts(data = df, n = 3, method = "l_sta...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = 3, method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("group_factor: Start value \"3\" not found in vector."),
fixed = TRUE)
# Testing group_counts(data = df, n = 0.4, method = "l_s...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = 0.4, method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("group_factor: Start value \"0.4\" not found in vector."),
fixed = TRUE)
# Testing group_counts(data = df, n = NULL, method = "l_...
# Changed from baseline: n
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = NULL, method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip("1 assertions failed:\n * 'n' cannot be 'NULL'"),
fixed = TRUE)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: randomize
xpectr::set_test_seed(42)
# Assigning output
output_12672 <- group_counts(data = df, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = TRUE, remove_missing_starts = FALSE)
# Testing class
expect_equal(
class(output_12672),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_12672,
type = "integer")
# Testing values
expect_equal(
output_12672,
c(2, 2, 3, 2, 1),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_12672),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_12672),
5L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_12672)),
5L)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: randomize
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = NULL, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * Variable 'randomize': Must be of t",
"ype 'logical flag', not 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: remove_missing_starts
xpectr::set_test_seed(42)
# Assigning output
output_10133 <- group_counts(data = df, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = TRUE)
# Testing class
expect_equal(
class(output_10133),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_10133,
type = "integer")
# Testing values
expect_equal(
output_10133,
c(2, 2, 3, 2, 1),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_10133),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_10133),
5L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_10133)),
5L)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: remove_missing_starts
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "auto", method = "l_starts", starts_col = "s", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = NULL)),
xpectr::strip(paste0("1 assertions failed:\n * Variable 'remove_missing_starts': ",
"Must be of type 'logical flag', not 'NULL'.")),
fixed = TRUE)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: starts_col
xpectr::set_test_seed(42)
# Testing side effects
# Assigning side effects
side_effects_18696 <- xpectr::capture_side_effects(group_counts(data = df, n = "auto", method = "l_starts", starts_col = "f", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE), reset_seed = TRUE)
expect_equal(
xpectr::strip(side_effects_18696[['warnings']]),
xpectr::strip("'data[[starts_col]]' is factor. Converting to character."),
fixed = TRUE)
expect_equal(
xpectr::strip(side_effects_18696[['messages']]),
xpectr::strip(character(0)),
fixed = TRUE)
# Assigning output
output_18696 <- xpectr::suppress_mw(group_counts(data = df, n = "auto", method = "l_starts", starts_col = "f", force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE))
# Testing class
expect_equal(
class(output_18696),
"integer",
fixed = TRUE)
# Testing type
expect_type(
output_18696,
type = "integer")
# Testing values
expect_equal(
output_18696,
c(2, 2, 3, 2, 1),
tolerance = 1e-4)
# Testing names
expect_equal(
names(output_18696),
NULL,
fixed = TRUE)
# Testing length
expect_equal(
length(output_18696),
5L)
# Testing sum of element lengths
expect_equal(
sum(xpectr::element_lengths(output_18696)),
5L)
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: starts_col
xpectr::set_test_seed(42)
# Testing side effects
if (FALSE){
# TODO Fix when checkmate is updated
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "auto", method = "l_starts", starts_col = NA, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("Assertion failed. One of the following must apply:\n * chec",
"kmate::check_string(starts_col): May not be NA\n * checkmate",
"::check_count(starts_col): May not be NA")),
fixed = TRUE)
}
# Testing group_counts(data = df, n = "auto", method = "...
# Changed from baseline: starts_col
xpectr::set_test_seed(42)
# Testing side effects
expect_error(
xpectr::strip_msg(group_counts(data = df, n = "auto", method = "l_starts", starts_col = NULL, force_equal = FALSE, allow_zero = FALSE, descending = FALSE, randomize = FALSE, remove_missing_starts = FALSE)),
xpectr::strip(paste0("1 assertions failed:\n * when 'method' is 'l_starts' and 'd",
"ata' is a data.frame, 'starts_col' must be specified.")),
fixed = TRUE)
## Finished testing 'group_counts' ####
#
})
test_that("group_factor() works with group_by()", {
xpectr::set_test_seed(42)
df <- data.frame(
"n" = c(1, 2, 3, 4, 2, 1, 5, 2, 1, 9),
"s" = c(4, 4, 4, 4, 7, 7, 7, 7, 1, 1),
"c" = as.character(c(4, 4, 6, 6, 7, 7, 7, 8, 8, 1)),
"f" = as.factor(as.character(c(4, 4, 6, 6, 7, 7, 7, 8, 8, 1))),
stringsAsFactors = FALSE
)
## Testing 'xpectr::suppress_mw(df %>% dplyr::group_by(s...' ####
## Initially generated by xpectr
xpectr::set_test_seed(42)
# Assigning output
output_19148 <- xpectr::suppress_mw(df %>%
dplyr::group_by(s) %>%
group_factor(n = 2))
# Testing class
expect_equal(
class(output_19148),
c("tbl_df", "tbl", "data.frame"),
fixed = TRUE)
# Testing column values
expect_equal(
output_19148[["s"]],
c(4, 4, 4, 4, 7, 7, 7, 7, 1, 1),
tolerance = 1e-4)
expect_equal(
output_19148[[".groups"]],
structure(c(1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 2L), .Label = c("1",
"2"), class = "factor"))
# Testing column names
expect_equal(
names(output_19148),
c("s", ".groups"),
fixed = TRUE)
# Testing column classes
expect_equal(
xpectr::element_classes(output_19148),
c("numeric", "factor"),
fixed = TRUE)
# Testing column types
expect_equal(
xpectr::element_types(output_19148),
c("double", "integer"),
fixed = TRUE)
# Testing dimensions
expect_equal(
dim(output_19148),
c(10L, 2L))
# Testing group keys
expect_equal(
colnames(dplyr::group_keys(output_19148)),
character(0),
fixed = TRUE)
## Finished testing 'xpectr::suppress_mw(df %>% dplyr::group_by(s...' ####
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.