tests/testthat/test-interval_vctr.R

test_that("interval_vctr print methods works", {
  x <- interval(3:5, 6:8)
  expect_output(obj_print_header(x), "<interval\\[3\\]>")
  expect_output(obj_print_data(x), "3-6 4-7 5-8")
  expect_output(str(x), "ival \\[1:3\\] 3-6, 4-7, 5-8")
})

test_that("interval_vctr start/end/width methods works", {
  x <- interval(3:5, 6:8)
  expect_equal(start(x), as.numeric(3:5))
  expect_equal(end(x), as.numeric(6:8))
  expect_equal(width(x), as.numeric(c(3,3,3)))

  start(x) <- start(x) / 2
  expect_equal(start(x), c(1.5, 2, 2.5))

  end(x) <- end(x) * 2
  expect_equal(end(x), as.numeric(c(12, 14, 16)))
})

test_that("interval_vctr math works", {
  x <- interval(c(-Inf, 1), c(Inf, 2))
  expect_identical(is.finite(x), c(FALSE, TRUE))
  expect_identical(is.infinite(x), c(TRUE, FALSE))
  expect_error(mean(x))
})
teunbrand/ggvctrcoords documentation built on Jan. 12, 2020, 6:25 p.m.