Skip to content

Commit 15833c6

Browse files
Merge branch 'update_unit_tests' into dev
2 parents 1d05f18 + 7f2ebfa commit 15833c6

File tree

3 files changed

+99
-31
lines changed

3 files changed

+99
-31
lines changed

tests/testthat/test-ccdr_call.R

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
context("ccdr_call")
2+
3+
pp <- 10L
4+
nn <- 5L
5+
X.test <- data.frame(matrix(runif(pp*pp), ncol = pp))
6+
cors.test <- sparsebnUtils::cor_vector(X.test)
7+
betas.test <- matrix(runif(pp*pp), ncol = pp)
8+
indexj.test <- rep(0L, pp + 1)
9+
nj.test <- as.integer(rep(nn, pp))
10+
cors.length <- pp*(pp+1)/2
11+
lambda.test <- pi
12+
gamma.test <- 2.0
13+
eps.test <- 0.1
14+
maxIters.test <- 1000L
15+
alpha.test <- 10
16+
17+
### The call for ccdr_call
18+
# ccdr_call <- function(data,
19+
# ivn = NULL,
20+
# betas,
21+
# lambdas,
22+
# lambdas.length,
23+
# gamma,
24+
# error.tol,
25+
# rlam,
26+
# max.iters,
27+
# alpha,
28+
# verbose = FALSE)
29+
30+
test_that("ccdr_call runs as expected", {
31+
### lambdas unspecified
32+
expect_error(ccdr_call(data = X.test, lambdas = NULL, lambdas.length = 20, rlam = 0.01, gamma = gamma.test, error.tol = eps.test, max.iters = maxIters.test, alpha = alpha.test), NA)
33+
34+
### lambdas specified
35+
expect_error(ccdr_call(data = X.test, lambdas = c(10, 5, 1), gamma = gamma.test, error.tol = eps.test, max.iters = maxIters.test, alpha = alpha.test), NA)
36+
})
37+
38+
test_that("Check input: data", {
39+
expect_error(ccdr_call(data = 1, lambdas = NULL, lambdas.length = 20, rlam = 0.01, gamma = gamma.test, error.tol = eps.test, max.iters = maxIters.test, alpha = alpha.test), "'data' argument must be a data.frame or matrix!")
40+
expect_error(ccdr_call(data = matrix(c(NA,1,1,1), nrow = 2), lambdas = NULL, lambdas.length = 20, rlam = 0.01, gamma = gamma.test, error.tol = eps.test, max.iters = maxIters.test, alpha = alpha.test), "missing values detected!")
41+
})
42+
43+
test_that("Check input: lambdas, lambdas.length", {
44+
# lambdas.length
45+
expect_error(ccdr_call(data = X.test, lambdas = NULL, lambdas.length = NULL, rlam = 0.01, gamma = gamma.test, error.tol = eps.test, max.iters = maxIters.test, alpha = alpha.test), "Both lambdas and lambdas.length unspecified: Must specify a value for at least one of these arguments!")
46+
expect_error(ccdr_call(data = X.test, lambdas = NULL, lambdas.length = "test", rlam = 0.01, gamma = gamma.test, error.tol = eps.test, max.iters = maxIters.test, alpha = alpha.test), "lambdas.length must be numeric!")
47+
expect_error(ccdr_call(data = X.test, lambdas = NULL, lambdas.length = -1, rlam = 0.01, gamma = gamma.test, error.tol = eps.test, max.iters = maxIters.test, alpha = alpha.test), "lambdas.length must be positive!")
48+
49+
# lambdas
50+
expect_error(ccdr_call(data = X.test, lambdas = c(10, "test", 1), gamma = gamma.test, error.tol = eps.test, max.iters = maxIters.test, alpha = alpha.test), "lambdas must be a numeric vector!")
51+
expect_error(ccdr_call(data = X.test, lambdas = c(10, 5, -1), gamma = gamma.test, error.tol = eps.test, max.iters = maxIters.test, alpha = alpha.test), "lambdas must contain only nonnegative values!")
52+
})
53+
54+
test_that("Check input: rlam", {
55+
expect_error(ccdr_call(data = X.test, lambdas = NULL, lambdas.length = 20, gamma = gamma.test, error.tol = eps.test, max.iters = maxIters.test, alpha = alpha.test), "rlam must be specified if lambdas is not explicitly specified.")
56+
expect_error(ccdr_call(data = X.test, lambdas = NULL, lambdas.length = 20, rlam = "test", gamma = gamma.test, error.tol = eps.test, max.iters = maxIters.test, alpha = alpha.test), "rlam must be numeric!")
57+
expect_error(ccdr_call(data = X.test, lambdas = NULL, lambdas.length = 20, rlam = -1, gamma = gamma.test, error.tol = eps.test, max.iters = maxIters.test, alpha = alpha.test), "rlam must be >= 0!")
58+
})
59+
60+

tests/testthat/test-ccdr_gridR.R

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,32 @@
11
context("ccdr_gridR")
22

3-
pp <- 10
4-
nn <- 5
5-
X.test <- matrix(runif(pp*pp), ncol = pp)
6-
X.test <- data.frame(X.test)
7-
cors.test <- sparsebnUtils::cor_vector_ivn(X.test, NULL)
3+
pp <- 10L
4+
nn <- 5L
5+
X.test <- data.frame(matrix(runif(pp*pp), ncol = pp))
6+
cors.test <- sparsebnUtils::cor_vector(X.test)
87
betas.test <- matrix(runif(pp*pp), ncol = pp)
8+
indexj.test <- rep(0L, pp + 1)
9+
nj.test <- as.integer(rep(nn, pp))
10+
cors.length <- pp*(pp+1)/2
11+
lambda.test <- pi
12+
gamma.test <- 2.0
13+
eps.test <- 0.1
14+
maxIters.test <- 1000L
15+
alpha.test <- 10
916

10-
# test_that("ccdr_gridR runs as expected", {
11-
# ### No error / Also tests default values for betas, nlam, gamma, eps, maxIters, alpha
12-
# expect_error(ccdr_gridR(cors = cors.test), NA)
13-
# })
17+
### The call for ccdr_gridR
18+
# ccdr_gridR <- function(cors,
19+
# pp, nn,
20+
# nj = NULL,
21+
# indexj = NULL,
22+
# betas,
23+
# lambdas,
24+
# gamma,
25+
# eps,
26+
# maxIters,
27+
# alpha,
28+
# verbose)
1429

15-
# test_that("Check input: rlam", {
16-
# ### eps is non-numeric
17-
# expect_error(ccdr.run(data = dat.test, lambdas.length = lambdas.length.test, rlam = "not a number"))
18-
#
19-
# ### rlam is negative (note that rlam = 0 is OK)
20-
# expect_error(ccdr.run(data = dat.test, lambdas.length = lambdas.length.test, rlam = -1e-5))
21-
#
22-
# ### Need to add a test for zero case
23-
#
24-
# })
30+
test_that("ccdr_gridR runs as expected", {
31+
expect_error(ccdr_gridR(cors = as.numeric(cors.test), pp = pp, nn = nn, betas = betas.test, lambdas = lambda.test, gamma = gamma.test, eps = eps.test, maxIters = maxIters.test, alpha = alpha.test, verbose = FALSE), NA)
32+
})

tests/testthat/test-ccdr_singleR.R

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
context("ccdr_singleR")
22

3-
pp <- 10L
4-
nn <- 5L
5-
indexj <- rep(0L, pp + 1)
6-
nj <- as.integer(rep(nn, pp))
7-
cors.length <- pp*(pp+1)/2
8-
cors.test <- runif(cors.length)
9-
betas.test <- matrix(runif(pp*pp), ncol = pp)
10-
lambda.test <- pi
11-
gamma.test <- 2.0
12-
eps.test <- 0.1
13-
maxIters.test <- 1000L
14-
alpha.test <- 10
3+
pp <- 10L
4+
nn <- 5L
5+
indexj <- rep(0L, pp + 1)
6+
nj <- as.integer(rep(nn, pp))
7+
cors.length <- pp*(pp+1)/2
8+
cors.test <- runif(cors.length)
9+
betas.test <- matrix(runif(pp*pp), ncol = pp)
10+
lambda.test <- pi
11+
gamma.test <- 2.0
12+
eps.test <- 0.1
13+
maxIters.test <- 1000L
14+
alpha.test <- 10
1515

1616
### The call for ccdr_singleR
1717
# ccdr_singleR <- function(cors,

0 commit comments

Comments
 (0)