# basic usage -------------------------------------------------- test_that("pairwise_contingency_table works - basic", { set.seed(123) df1 <- pairwise_contingency_table( data = mtcars, x = cyl, y = am, p.adjust.method = "bonferroni" ) expect_snapshot(select(df1, -expression)) expect_snapshot(df1[["expression"]]) # correct number of pairs (3 levels -> 3 pairs) expect_identical(nrow(df1), 3L) # both raw and adjusted p-values present expect_true(all(c("p.value", "p.value.adj") %in% names(df1))) # adjusted should be >= raw expect_true(all(df1$p.value.adj >= df1$p.value)) }) # counts data -------------------------------------------------- test_that("pairwise_contingency_table works - with counts", { set.seed(123) df1 <- pairwise_contingency_table( data = as.data.frame(Titanic), x = Class, y = Survived, counts = Freq, p.adjust.method = "fdr" ) expect_snapshot(select(df1, -expression)) expect_snapshot(df1[["expression"]]) # 4 levels -> C(4,2) = 6 pairs expect_identical(nrow(df1), 6L) }) # no adjustment -------------------------------------------------- test_that("pairwise_contingency_table works - no adjustment", { set.seed(123) df1 <- pairwise_contingency_table( data = mtcars, x = cyl, y = am, p.adjust.method = "none" ) expect_snapshot(select(df1, -expression)) expect_snapshot(df1[["expression"]]) # with no adjustment, raw and adjusted should be equal expect_identical(df1$p.value, df1$p.value.adj) }) # data with NAs -------------------------------------------------- test_that("pairwise_contingency_table works - data with NAs", { set.seed(123) df1 <- pairwise_contingency_table( data = msleep, x = vore, y = conservation, p.adjust.method = "holm" ) expect_snapshot(select(df1, -expression)) expect_snapshot(df1[["expression"]]) }) # custom conf.level and alternative -------------------------------------------------- test_that("pairwise_contingency_table works - custom conf.level and alternative", { set.seed(123) df1 <- pairwise_contingency_table( data = mtcars, x = cyl, y = am, conf.level = 0.90, alternative = "greater", p.adjust.method = "holm" ) expect_snapshot(select(df1, -expression)) expect_snapshot(df1[["expression"]]) }) # custom digits -------------------------------------------------- test_that("pairwise_contingency_table works - custom digits", { set.seed(123) df1 <- pairwise_contingency_table( data = mtcars, x = cyl, y = am, digits = 4L, p.adjust.method = "BH" ) expect_snapshot(select(df1, -expression)) expect_snapshot(df1[["expression"]]) })