tests/testthat/test_utils.r

x <- tibble::tribble(
  ~chrom, ~start, ~end,
  "chr1", 1, 100,
  "chr1", 200, 500
)
y <- tibble::tribble(
  ~chrom, ~start, ~end,
  "chr1", 1, 100,
  "chr1", 200, 500
) |>
  group_by(chrom)

test_that("NULL is return when there are no shared groups, shared_groups()", {
  res <- shared_groups(x, y)
  expect_null(res)
})

test_that("only shared groups are return, shared_groups()", {
  x <- tibble::tribble(
    ~chrom, ~start, ~end,
    "chr1", 1, 100,
    "chr1", 200, 500
  ) |>
    group_by(chrom, start, end)

  res <- shared_groups(x, y)
  expect_true(length(res) == 1 && res == "chrom")
})


x <- tibble::tribble(
  ~end, ~chrom, ~start, ~value,
  75, "chr1", 125, 10
)

y <- tibble::tribble(
  ~chrom, ~start, ~end, ~scores,
  "chr1", 50, 100, 1.2,
  "chr1", 100, 150, 2.4
)

test_that("x columns are reordered based on y, reorder_names()", {
  res <- reorder_names(x, y)

  pred <- intersect(colnames(y), colnames(res))
  n <- length(pred)

  expect_true(all(colnames(res[1:n]) == pred[1:n]))
})
jayhesselberth/valr documentation built on April 8, 2024, 12:32 p.m.