  We propose approaches for testing implementations of Markov Chain Monte Carlo
methods as well as of general Monte Carlo methods. Based on statistical
hypothesis tests, these approaches can be used in a unit testing framework to,
for example, check if individual steps in a Gibbs sampler or a reversible jump
MCMC have the desired invariant distribution. Two exact tests for assessing
whether a given Markov chain has a specified invariant distribution are
discussed. These and other tests of Monte Carlo methods can be embedded into a
sequential method that allows low expected effort if the simulation shows the
desired behavior and high power if it does not. Moreover, the false rejection
probability can be kept arbitrarily low. For general Monte Carlo methods, this
allows testing, for example, if a sampler has a specified distribution or if a
sampler produces samples with the desired mean. The methods have been
implemented in the R-package MCUnit.
