tests/testthat/test-abc-args.R

test_that("abc() valid its arguments and fails nicely", {
  # non numeric data
  expect_error(networkABC::abc(data = matrix(letters[1:10], 5, 2)))
  # bad input
  expect_error(networkABC::abc(data = 1:10))
  # invalid tolerance
  M <- toy_matrix(10, 3, seed = 9)
  expect_error(networkABC::abc(data = M, tolerance = -0.1))
})

test_that("abc() handles NAs clearly (error or explicit message).", {
  M <- toy_matrix(10, 3, seed = 3)
  M[1,1] <- NA_real_
  expect_error(networkABC::abc(data = M), regexp = "NA|NaN|Inf", ignore.case = TRUE)
})

test_that("abc() validates its arguments and fails cleanly (tolerance).", {
  M <- toy_matrix(10, 3, seed = 9)
  expect_error(networkABC::abc(data = M, tolerance = -0.1),
               regexp = "tolerance.*>0", ignore.case = TRUE)
  expect_error(networkABC::abc(data = M, tolerance = c(0.1, 0.2)),
               regexp = "single", ignore.case = TRUE)
  expect_no_error(networkABC::abc(data = M, tolerance = 0.1))
  expect_no_warning(networkABC::abc(data = M, tolerance = 0.1))
})

Try the networkABC package in your browser

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

networkABC documentation built on Nov. 5, 2025, 6:27 p.m.