tests/testthat/test-imbinaryops.R

context("Summarising Operations")

test_that("im binary operations are performing correctly", {
  win <- as.im(square(10), eps = 0.25)
  #create two ims with unequal pixel arrays
  ims <- solist(as.im(square(1), W = win, xy = win, na.replace = 0),
                as.im(shift.owin(square(1), vec = c(0.75, 0.75)), W = win[square(4), drop = TRUE],
                      xy = win[square(4), drop = TRUE], na.replace = 0))
  expect_error(Pmax.im(ims[[1]], ims[[2]]), regexp = "not compatible")
  expect_error(Pmin.im(ims[[1]], ims[[2]]), regexp = "not compatible")
  
  ims <- as.solist(do.call(harmonize.im, args = ims))

  expect_equal(sum(ims[[1]]) + sum(ims[[2]]) - sum(Pmax.im(ims[[1]], ims[[2]])), sum(Pmin.im(ims[[1]], ims[[2]])))
  
  expect_equal(sum(Add.im(ims[[1]], ims[[2]])), sum(ims[[1]]) + sum(ims[[2]]))
  expect_equal(sum(Square.im(Add.im(ims[[1]], ims[[2]]))), 34)
})

Try the lacunaritycovariance package in your browser

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

lacunaritycovariance documentation built on Nov. 2, 2023, 6:08 p.m.