Sys.unsetenv("R_TESTS")
library(SPONGE)
library(doParallel)
cl <- makeCluster(2)
context("TEST functions for generating cov matrices under the NULL")
test_that("Test that posdef returns positive semi-definite matrices",{
for(i in 3:10){
m <- posdef(i)
expect_equal(ncol(m), i)
expect_equal(nrow(m), i)
expect_true(all(eigen(m)$values > 0))
}
})
test_that("Schur complement works for a simple case", {
m <- matrix(c(1,6,7,6,1,8,7,8,1),3,3)
expect_equal(as.vector(schur(m)), c(-48, -50, -50, -63))
})
test_that("Computing sensitivity correlation works as expected", {
for(i in seq_len(8)){
mscor <- get.q(precomputed_cov_matrices[[i]][[sample(seq_len(8), 1)]][[1]])[1,1]
expect_equal(mscor, 0)
}
})
test_that("Check lambda function works as expected",{
expect_equal(checkLambda(x = c(1,2,3), y = c(1,2,3)), 1)
expect_equal(checkLambda(x = c(1,1,1), y = c(2,2,2)), 1)
expect_equal(checkLambda(x = c(1,0), y = c(0,1)), 0)
})
test_that("Solving quadrativ equations works as expected", {
expect_equal(unlist(quadraticSolver(a = 1, b = 2, c = -3)), c(1, -3))
})
test_that("Sampling cov. matrices works for m = 1", {
simple_case <- sample_zero_mscor_cov(m = 1,number_of_solutions = 1,
gene_gene_correlation = 0.5,
random_seed = 12345)[[1]]
expect_equal(as.vector(simple_case)[1], 1.409278, tolerance = 1e-6)
expect_equal(ncol(simple_case), 3)
})
# test_that("Sampling cov. matrices works for m = 3", {
#
# complex_case <- sample_zero_mscor_cov(m = 3,number_of_solutions = 1,
# gene_gene_correlation = 0.5,
# random_seed = 12543)[[1]]
# expect_equal(complex_case[1,1], 0.62572338, tolerance = 1e-6)
# expect_equal(ncol(complex_case), 5)
# })
#
# test_that("Sampling cov. matrices works for m = 3 in parallel", {
#
# registerDoParallel(cl)
#
# complex_case <- sample_zero_mscor_cov(m = 3, number_of_solutions = 1,
# gene_gene_correlation = 0.5,
# random_seed = 12543)[[1]]
# expect_equal(complex_case[1,1], 0.62572338, tolerance = 1e-6)
# expect_equal(ncol(complex_case), 5)
#
# registerDoSEQ()
# })
#
# test_that("Sampling data from covariance matrices works", {
# set.seed(12345)
# result <- unlist(
# sample_zero_mscor_data(
# cov_matrices = precomputed_cov_matrices[[1]][[1]][1:2],
# number_of_samples = 50,
# number_of_datasets = 2))
# expect_equal(result, c(0.05027585, 0.06882558, -0.05860923, -0.00840041))
# })
stopCluster(cl)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.