From 4a2c7f8bc1fcde05f6256aa148345f65e675949b Mon Sep 17 00:00:00 2001 From: Ralf Stubner Date: Tue, 15 Aug 2023 18:03:49 +0200 Subject: [PATCH] Add some tests for dqrmvnorm. --- tests/testthat/test-rmv.R | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 tests/testthat/test-rmv.R diff --git a/tests/testthat/test-rmv.R b/tests/testthat/test-rmv.R new file mode 100644 index 0000000..710da87 --- /dev/null +++ b/tests/testthat/test-rmv.R @@ -0,0 +1,29 @@ +context("multivariate generators") + +seed <- 1234567890 +sigma <- matrix(c(4,2,2,3), ncol=2) +mean <- c(1,2) + +test_that("consecutive calls yield different random numbers (normal)", { + skip_if_not_installed("mvtnorm") + dqset.seed(seed) + n1 <- dqrmvnorm(10, mean = mean, sigma=sigma) + n2 <- dqrmvnorm(10, mean = mean, sigma=sigma) + expect_false(all(n1 == n2)) +}) + +test_that("setting seed produces identical normaly distributed numbers", { + dqset.seed(seed) + n1 <- dqrmvnorm(10, mean = mean, sigma=sigma) + dqset.seed(seed) + n2 <- dqrmvnorm(10, mean = mean, sigma=sigma) + expect_equal(n1, n2) +}) + +test_that("Means and variance as expected",{ + dqset.seed(seed) + n1 <- dqrmvnorm(1e5, mean = mean, sigma=sigma) + expect_equal(mean, colMeans(n1), tolerance = 0.01) + expect_equal(sigma, var(n1), tolerance = 0.01) +}) +#