tests/testthat/test-find_dupes.R

# common cases
test_that("find_dupes correctly identifies duplicate cases", {
  data <- tibble::tibble(
    id = 1:5,
    name = c("Alice", "Bob", "Alice", "David", "Alice"),
    age = c(25, 30, 25, 40, 25)
  )
  expected_result <- data %>%
    mutate(has_dupes = c(TRUE, FALSE, TRUE, FALSE, TRUE))
  result <- find_dupes(data, name, age)
  expect_equal(result, expected_result)
})

test_that("find_dupes handles no duplicates correctly", {
  data <- tibble::tibble(
    id = 1:4,
    name = c("Alice", "Bob", "Charlie", "David"),
    age = c(25, 30, 35, 40)
  )
  expected_result <- data %>%
    mutate(has_dupes = FALSE)
  result <- find_dupes(data, name, age)
  expect_equal(result, expected_result)
})

# edge caees
test_that("find_dupes handles empty data", {
  data <- tibble::tibble(
    id = integer(0),
    name = character(0),
    age = integer(0)
  )
  expected_result <- data %>%
    mutate(has_dupes = logical(0))
  result <- find_dupes(data, name, age)
  expect_equal(result, expected_result)
})

Try the trustmebro package in your browser

Any scripts or data that you put into this service are public.

trustmebro documentation built on June 8, 2025, 11:01 a.m.