Skip to content

Commit 2da129b

Browse files
authored
Merge pull request #127 from pharmaverse/123_increase_test_sort
Closes #123 add tests for sort
2 parents 3d58fee + c034839 commit 2da129b

1 file changed

Lines changed: 43 additions & 22 deletions

File tree

tests/testthat/test-sort.R

Lines changed: 43 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,52 @@
1-
# Suppress cli output during testing
2-
options(cli.default_handler = function(...) {})
3-
4-
load(metacore::metacore_example("pilot_ADaM.rda"))
5-
spec <- metacore %>% select_dataset("ADSL", quiet = TRUE)
6-
data <- haven::read_xpt(metatools_example("adsl.xpt"))
7-
test_that("sort_order", {
8-
data %>%
1+
# order_cols() tests ----
2+
test_that("order_cols reorders columns to match metacore spec", {
3+
load(metacore::metacore_example("pilot_ADaM.rda"))
4+
spec <- metacore %>% select_dataset("ADSL", quiet = TRUE)
5+
data <- haven::read_xpt(metatools_example("adsl.xpt"))
6+
7+
result <- data %>%
98
select(AGE, SITEID, everything()) %>%
10-
order_cols(spec) %>%
11-
expect_equal(data)
12-
# Check when too many columns
13-
data %>%
9+
order_cols(spec)
10+
11+
expect_equal(result, data)
12+
})
13+
14+
test_that("order_cols handles extra columns not in spec", {
15+
load(metacore::metacore_example("pilot_ADaM.rda"))
16+
spec <- metacore %>% select_dataset("ADSL", quiet = TRUE)
17+
data <- haven::read_xpt(metatools_example("adsl.xpt"))
18+
19+
result <- data %>%
1420
select(AGE, everything(), -SITEID) %>%
15-
order_cols(spec) %>%
16-
expect_equal(select(data, -SITEID))
21+
order_cols(spec)
1722

18-
# Check when there are too few columns
19-
data %>%
23+
expected <- select(data, -SITEID)
24+
expect_equal(result, expected)
25+
})
26+
27+
test_that("order_cols handles additional columns beyond spec", {
28+
load(metacore::metacore_example("pilot_ADaM.rda"))
29+
spec <- metacore %>% select_dataset("ADSL", quiet = TRUE)
30+
data <- haven::read_xpt(metatools_example("adsl.xpt"))
31+
32+
result <- data %>%
2033
select(AGE, SITEID, everything()) %>%
2134
mutate(foo = "game") %>%
22-
order_cols(spec) %>%
23-
expect_equal(mutate(data, foo = "game"))
35+
order_cols(spec)
36+
37+
expected <- mutate(data, foo = "game")
38+
expect_equal(result, expected)
2439
})
2540

26-
test_that("sort_key", {
27-
data %>%
41+
# sort_by_key() tests ----
42+
test_that("sort_by_key sorts data by key variables from metacore spec", {
43+
load(metacore::metacore_example("pilot_ADaM.rda"))
44+
spec <- metacore %>% select_dataset("ADSL", quiet = TRUE)
45+
data <- haven::read_xpt(metatools_example("adsl.xpt"))
46+
47+
result <- data %>%
2848
arrange(TRT01P, AGE) %>%
29-
sort_by_key(spec) %>%
30-
expect_equal(data)
49+
sort_by_key(spec)
50+
51+
expect_equal(result, data)
3152
})

0 commit comments

Comments
 (0)