tests/testthat/test_rmarkov.R

set.seed(124356)

m <- 5
N <- 1e4

test_that("'rmarkov' works", {
  P <- matrix(rexp(m^2), m)
  P <- P/rowSums(P)
  expect_silent(z <- rmarkov(N, P))
  expect_length(z, N)

  expect_silent(rmarkov(10, P * 2))  # automatically normalized
  expect_error(rmarkov(-1, P))
  expect_error(rmarkov(10, P, 1))
  expect_error(rmarkov(10, P, - rep(1, ncol(P))))
  expect_error(rmarkov(10, - P))

  # constant value:
  P <- diag(m)
  expect_silent(z <- rmarkov(N, P, start = c(1, rep(0, m-1))))
  expect_equal(z, rep(1, N))

})
danheck/MCMCprecision documentation built on Nov. 13, 2022, 11:41 p.m.