tests/testthat/test_glyph.r

x <- tibble::tribble(
  ~chrom, ~start, ~end, ~name, ~score, ~strand,
  "chr1", 500, 1000, ".", ".", "+",
  "chr1", 1000, 1500, ".", ".", "-"
)

test_that("glyphs are rendered", {
  expect_doppelganger("merge glyph is ok", bed_glyph(bed_merge(x)))
})

test_that("glyph labels are applied", {
  res <- bed_glyph(bed_merge(x, id = dplyr::n()), label = "id")
  expect_equal(res$labels$label, "id")
})

a <- tibble::tribble(
  ~chrom, ~start, ~end,
  "chr1", 25, 50,
  "chr1", 100, 125
)

b <- tibble::tribble(
  ~chrom, ~start, ~end, ~value,
  "chr1", 30, 75, 50
)

test_that("expr arguments do not need to be x and/or y", {
  expect_doppelganger("intersect glyph is ok", bed_glyph(bed_intersect(a, b)))
})

genome <- tibble::tribble(
  ~chrom, ~size,
  "chr1", 1e6
)

x <- bed_random(genome, n = 101)
test_that("exceeding max intervals throws an error", {
  expect_error(bed_glyph(bed_intersect(x, x)))
})

Try the valr package in your browser

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

valr documentation built on Sept. 19, 2023, 1:07 a.m.