expect_all_true <- function(object, ...) expect_true(all(object), ...)
expect_any_true <- function(object, ...) expect_true(any(object), ...)
expect_all_false <- function(object, ...) expect_false(all(object), ...)
expect_any_false <- function(object, ...) expect_false(any(object), ...)
test_that("Equal datasets return no rows", {
x <- list_of_comparisons[["Identical"]]
diff <- diffdf(x[[1]], x[[2]], suppress_warnings = TRUE)
dat <- diffdf_issuerows(x[[1]], diff)
expect_equal(nrow(dat), 0)
expect_equal(ncol(dat), ncol(x[[1]]))
})
test_that("Checking no rows returned if only issue is missing cols", {
x1 <- list_of_comparisons[["Missing Columns"]][[1]]
x2 <- list_of_comparisons[["Missing Columns"]][[2]]
diff <- diffdf(x1, x2, suppress_warnings = TRUE)
dat1 <- diffdf_issuerows(x1, diff)
dat2 <- diffdf_issuerows(x2, diff)
expect_equal(nrow(dat1), 0)
expect_equal(nrow(dat2), 0)
expect_equal(ncol(dat1), ncol(x1))
expect_equal(ncol(dat2), ncol(x2))
expect_true(ncol(dat1) != ncol(dat2))
})
test_that("Checking no rows returned if only issue is missing rows", {
x1 <- list_of_comparisons[["Missing Rows"]][[1]]
x2 <- list_of_comparisons[["Missing Rows"]][[2]]
diff <- diffdf(x1, x2, suppress_warnings = TRUE)
dat1 <- diffdf_issuerows(x1, diff)
dat2 <- diffdf_issuerows(x2, diff)
expect_equal(nrow(dat1), 0)
expect_equal(nrow(dat2), 0)
expect_equal(ncol(dat1), ncol(x1))
expect_equal(ncol(dat2), ncol(x2))
expect_equal(ncol(dat1), ncol(dat2))
})
test_that("Checking no rows returned if only issue is different attribs", {
x1 <- list_of_comparisons[["Different attributes"]][[1]]
x2 <- list_of_comparisons[["Different attributes"]][[2]]
diff <- diffdf(x1, x2, suppress_warnings = TRUE)
dat1 <- diffdf_issuerows(x1, diff)
dat2 <- diffdf_issuerows(x2, diff)
expect_equal(nrow(dat1), 0)
expect_equal(nrow(dat2), 0)
expect_equal(ncol(dat1), ncol(x1))
expect_equal(ncol(dat2), ncol(x2))
expect_equal(ncol(dat1), ncol(dat2))
})
test_that("Checking correct values return where value differences are found", {
x1 <- list_of_comparisons[["Different Values"]][[1]]
x2 <- list_of_comparisons[["Different Values"]][[2]]
diff <- diffdf(x1, x2, suppress_warnings = TRUE)
dat1 <- diffdf_issuerows(x1, diff)
dat2 <- diffdf_issuerows(x2, diff)
expect_equal(nrow(dat1), 3)
expect_equal(nrow(dat2), 3)
expect_equal(ncol(dat1), ncol(x1))
expect_equal(ncol(dat2), ncol(x2))
expect_equal(ncol(dat1), ncol(dat2))
expect_all_true(dat1$CONTINUOUS != c(1, 2, 3))
expect_all_true(dat2$CONTINUOUS == c(1, 2, 3))
})
test_that("can handle multple errors including key vars", {
x1 <- list_of_comparisons[["everything"]][[1]]
x2 <- list_of_comparisons[["everything"]][[2]]
diff <- diffdf(x1, x2, c("ID", "GROUP1"), suppress_warnings = TRUE)
dat1 <- diffdf_issuerows(x1, diff)
dat2 <- diffdf_issuerows(x2, diff)
expect_equal(nrow(dat1), 20)
expect_equal(nrow(dat2), 20)
expect_equal(ncol(dat1), ncol(x1))
expect_equal(ncol(dat2), ncol(x2))
expect_equal(ncol(dat1), ncol(dat2))
dat1 <- diffdf_issuerows(x1, diff, var = "CONTINUOUS")
dat2 <- diffdf_issuerows(x2, diff, var = "CONTINUOUS")
expect_equal(nrow(dat1), 3)
expect_equal(nrow(dat2), 3)
expect_equal(ncol(dat1), ncol(x1))
expect_equal(ncol(dat2), ncol(x2))
expect_equal(ncol(dat1), ncol(dat2))
expect_all_true(dat1$CONTINUOUS != c(1, 2, 3))
expect_all_true(dat2$CONTINUOUS == c(1, 2, 3))
### No duplicate rows
dat1 <- diffdf_issuerows(x1, diff, var = c("CONTINUOUS", "CATEGORICAL"))
dat2 <- diffdf_issuerows(x2, diff, var = c("CONTINUOUS", "CATEGORICAL"))
expect_equal(nrow(dat1), 9)
expect_equal(nrow(dat2), 9)
expect_equal(ncol(dat1), ncol(x1))
expect_equal(ncol(dat2), ncol(x2))
expect_equal(ncol(dat1), ncol(dat2))
expect_error(
diffdf_issuerows(iris, diff),
"df does not contain all variables specified as keys in diff"
)
})
test_that("Correct columns are returned where both values and columns have issues", {
x1 <- list_of_comparisons[["Missing Columns"]][[1]]
x2 <- list_of_comparisons[["Missing Columns"]][[2]]
x2$INTEGER <- as.integer(x2$INTEGER)
diff <- diffdf(x1, x2, "ID", suppress_warnings = TRUE)
dat1 <- diffdf_issuerows(x1, diff)
dat2 <- diffdf_issuerows(x2, diff)
expect_equal(nrow(dat1), 3)
expect_equal(nrow(dat2), 3)
expect_equal(ncol(dat1), ncol(x1))
expect_equal(ncol(dat2), ncol(x2))
expect_true(ncol(dat1) != ncol(dat2))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.