# Copyright 2019 Robert Carnell
context("test-maximinlhs")
test_that("maximinLHS works", {
expect_error(maximinLHS(-1, 2))
expect_error(maximinLHS(10, -30))
expect_error(maximinLHS(10, 2, dup = -2))
expect_error(maximinLHS(NA, 2))
expect_error(maximinLHS(NaN, 2))
expect_warning(expect_error(maximinLHS(Inf, 2)))
expect_error(maximinLHS(10, NA))
expect_error(maximinLHS(10, NaN))
expect_warning(expect_error(maximinLHS(10, Inf)))
expect_error(maximinLHS(10, 2, dup = NA))
expect_error(maximinLHS(10, 2, dup = NaN))
expect_warning(expect_error(maximinLHS(10, 2, dup = Inf)))
set.seed(1976)
expect_true(checkLatinHypercube(maximinLHS(4, 2)))
set.seed(1977)
expect_true(checkLatinHypercube(maximinLHS(3, 3, dup = 5)))
expect_error(maximinLHS(10, 4, method = "none"))
expect_error(maximinLHS(10, 4, method = "build", optimize.on = "none"))
expect_warning(maximinLHS(10, 4, method = "build", optimize.on = "result"))
expect_error(maximinLHS(10, c(4,5), method = "iterative"))
expect_error(maximinLHS(10, NA, method = "iterative"))
expect_error(maximinLHS(10, Inf, method = "iterative"))
expect_error(maximinLHS(12.2, 4, method = "iterative"))
expect_error(maximinLHS(12, 4.3, method = "iterative"))
expect_error(maximinLHS(12, 4, dup = 10.2, method = "iterative"))
A <- maximinLHS(12, 4, dup = 10, method = "iterative", optimize.on = "result")
expect_true(checkLatinHypercube(A))
A <- maximinLHS(20, 5, dup = 3, method = "iterative", optimize.on = "grid")
expect_true(checkLatinHypercube(A))
A <- maximinLHS(1, 4)
expect_equal(nrow(A), 1)
expect_true(checkLatinHypercube(A))
})
test_that("maximinLHS works with expanded capability", {
expect_true(checkLatinHypercube(maximinLHS(4, 3, method = "build", dup = 2)))
expect_true(checkLatinHypercube(maximinLHS(4, 3, method = "iterative", eps = 0.05, maxIter = 100, optimize.on = "grid")))
expect_true(checkLatinHypercube(maximinLHS(4, 3, method = "iterative", eps = 0.05, maxIter = 100, optimize.on = "result")))
})
test_that("maximinLHS debug capability for code coverage", {
capture_output(X <- maximinLHS(10, 4, method = "build",
optimize.on = "grid", debug = TRUE))
expect_equal(nrow(X), 10)
expect_warning(capture_output(X <- maximinLHS(10, 4, method = "build",
optimize.on = "result", debug = TRUE)))
expect_equal(nrow(X), 10)
capture_output(X <- maximinLHS(10, 10, method = "iterative",
optimize.on = "result", eps = 1E-9, debug = TRUE))
expect_equal(nrow(X), 10)
capture_output(X <- maximinLHS(5, 5, method = "iterative",
optimize.on = "result", eps = 1, debug = TRUE))
expect_error(.Call("maximinLHS_cpp", 3, 4L, 4L))
X <- .Call("maximinLHS_cpp", 1L, 4L, 4L)
expect_equal(nrow(X), 1)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.