tests/testthat/test_window.r

genome <- tibble::tribble(
  ~chrom , ~size ,
  "chr1" ,  5000 ,
  "chr2" , 10000
)

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

y <- tibble::tribble(
  ~chrom , ~start , ~end , ~name , ~score , ~strand ,
  "chr1" ,    400 ,  450 , "."   , "."    , "+"     ,
  "chr1" ,   1000 , 1200 , "."   , "."    , "-"     ,
  "chr1" ,   1100 , 1500 , "."   , "."    , "+"     ,
  "chr2" ,   1300 , 1500 , "."   , "."    , "-"
)

test_that("both arg works", {
  out <- bed_window(x, y, genome, both = 110)
  expect_equal(nrow(out), 6)
})

test_that("left arg works", {
  out <- bed_window(x, y, genome, left = 110)
  expect_equal(nrow(out), 4)
})

test_that("right arg works", {
  out <- bed_window(x, y, genome, right = 110)
  expect_equal(nrow(out), 5)
})

Try the valr package in your browser

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

valr documentation built on Dec. 10, 2025, 9:08 a.m.