tests/testthat/test-cpp.R

context("C++")

Rcpp::sourceCpp("cpp/default.cpp")

seed <- 1234567890

test_that("consecutive calls yield different random numbers", {
  expect_false(consecutive_calls(seed))
})

test_that("setting seed produces identical uniformly distributed numbers", {
  expect_true(seed_uniform(seed))
})

test_that("setting seed produces identical uniformly distributed scalar numbers", {
  expect_true(seed_uniform_scalar(seed))
})

test_that("Min and max can be equal for scalar numbers", {
  expect_true(seed_uniform_scalar_min_eq_max(seed))
})

test_that("Min must not be larger than max", {
  expect_error(seed_uniform_scalar_min_gt_max(seed),
               "'min' must not be larger than 'max'!")
})

test_that("setting seed produces identical normaly distributed numbers", {
  expect_true(seed_normal(seed))
})

test_that("setting seed produces identical normaly distributed scalar numbers", {
  expect_true(seed_normal_scalar(seed))
})

test_that("setting seed produces identical exponenetially distributed numbers", {
  expect_true(seed_exponential(seed))
})

test_that("setting seed produces identical exponenetially distributed scalar numbers", {
  expect_true(seed_exponential_scalar(seed))
})

Rcpp::sourceCpp("cpp/xoshiro-jump.cpp")

test_that("jump() for xoroshiro128+ works", {
  expect_true(xoroshiro_plus_jump())
})

test_that("jump() for xoroshiro128++ works", {
  expect_true(xoroshiro_plus_plus_jump())
})

test_that("jump() for xoroshiro128** works", {
  expect_true(xoroshiro_star_star_jump())
})

test_that("long_jump() for xoshiro256+ works", {
  expect_true(xoshiro_plus_long_jump())
})

test_that("long_jump() for xoshiro256++ works", {
  expect_true(xoshiro_plus_plus_long_jump())
})

test_that("long_jump() for xoshiro256** works", {
  expect_true(xoshiro_star_star_long_jump())
})

Try the dqrng package in your browser

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

dqrng documentation built on May 29, 2024, 12:10 p.m.