test_that("shift_vector works", {
expect_equal(
shift_vector(c(1, 2, 3), 1),
c(2, 3, 1)
)
v <- sample(60)
expect_equal(
shift_vector(v, 0),
v
)
expect_equal(
shift_vector(v, 60),
v
)
})
test_that("rearrange_vector works", {
expect_equal(
rearrange_vector(c(4, 2, 3, 1)),
c(1, 4, 2, 3)
)
})
test_that("is.wholenumber works", {
expect_true(is.wholenumber(3L))
expect_true(is.wholenumber(as.double(3L)))
expect_false(is.wholenumber(3L / 2))
})
test_that("is.positive.semi.definite.matrix works", {
p <- 7
random_matrix <- matrix(rnorm(p * p), nrow = p)
random_matrix <- t(random_matrix) %*% random_matrix
random_matrix <- random_matrix - diag(p) * (eigen(random_matrix, symmetric = TRUE, only.values = TRUE)[["values"]][p] - 10)
# the smallest eigen value of `random_matrix` is very close to 10
expect_true(is.positive.semi.definite.matrix(random_matrix))
expect_true(is.positive.semi.definite.matrix(random_matrix - diag(p) * 10, tolerance = 0.001)) # the smallest eigen value is very close to 0
expect_false(is.positive.semi.definite.matrix(random_matrix - diag(p) * (10.01))) # the smallest eigen value is very close to -0.01
})
test_that("change_log_probabilities_unnorm_to_probabilities forks as intendent", {
desired_probs <- c(0.1, 0.2, 0.3, 0.4)
changed_probs <- log(desired_probs) + runif(1, -1000, 1000)
est_desired_probs <- change_log_probabilities_unnorm_to_probabilities(changed_probs)
expect_equal(desired_probs, est_desired_probs) # function can recreate the original distribution
})
test_that("pretty_plot work", {
gg_plot_object <- pretty_plot_matrix(matrix_invariant_by_example_perm)
expect_true(inherits(gg_plot_object, "ggplot"))
gg_plot_object2 <- pretty_plot_block_matrix(
matrix_invariant_by_example_perm,
example_perm
)
expect_true(inherits(gg_plot_object2, "ggplot"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.