tests/testthat/test-boxGrob_move.R

library(testthat)

test_that("Box move relative", {
  box1 <- boxGrob("A simple box", x = .5, y = .8)
  box2 <- moveBox(box1, x = -.2, y = -.1, space = "relative")
  cvt <- function(x, fn = convertX) convertX(x, unitTo = "mm", valueOnly = TRUE)
  expect_gt(cvt(attr(box1, "viewport_data")$x), cvt(attr(box2, "viewport_data")$x))
  expect_gt(cvt(attr(box1, "viewport_data")$y), cvt(attr(box2, "viewport_data")$y))

  box3 <- moveBox(box1, y = 0.1, space = "relative")
  expect_equal(cvt(attr(box1, "viewport_data")$x), cvt(attr(box3, "viewport_data")$x))
  expect_lt(cvt(attr(box1, "viewport_data")$y), cvt(attr(box3, "viewport_data")$y))
})

test_that("Box move absolute", {
  box1 <- boxGrob("A simple box", x = .5, y = .8)
  box2 <- moveBox(box1, x = .2, y = .1, space = "abs")
  cvt <- function(x, fn = convertX) convertX(x, unitTo = "mm", valueOnly = TRUE)
  expect_gt(cvt(attr(box1, "viewport_data")$x), cvt(attr(box2, "viewport_data")$x))
  expect_gt(cvt(attr(box1, "viewport_data")$y), cvt(attr(box2, "viewport_data")$y))
  
  box3 <- moveBox(box1, x = .3, space = "abs")
  expect_equal(cvt(attr(box1, "viewport_data")$y), cvt(attr(box3, "viewport_data")$y))
  expect_gt(cvt(attr(box1, "viewport_data")$x), cvt(attr(box3, "viewport_data")$x))
})

Try the Gmisc package in your browser

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

Gmisc documentation built on Aug. 26, 2023, 1:07 a.m.