Nothing
# Tests for SSIM functions
test_that("create_ssim creates correct structure", {
ssim <- create_ssim(4)
expect_s3_class(ssim, "ssim_matrix")
expect_equal(nrow(ssim), 4)
expect_equal(ncol(ssim), 4)
# Diagonal should be X
expect_equal(as.vector(diag(ssim)), rep("X", 4))
# Lower triangle should be "-"
expect_true(all(ssim[lower.tri(ssim)] == "-"))
# Upper triangle should be empty
expect_true(all(ssim[upper.tri(ssim)] == ""))
})
test_that("create_ssim accepts character vector", {
labels <- c("A", "B", "C")
ssim <- create_ssim(labels)
expect_equal(rownames(ssim), labels)
expect_equal(colnames(ssim), labels)
})
test_that("create_ssim with custom labels", {
ssim <- create_ssim(3, labels = c("X", "Y", "Z"))
expect_equal(rownames(ssim), c("X", "Y", "Z"))
})
test_that("ssim_to_matrix converts V correctly", {
ssim <- create_ssim(3)
ssim[1, 2] <- "V" # 1 -> 2
ssim[1, 3] <- "V" # 1 -> 3
adj <- ssim_to_matrix(ssim)
expect_equal(adj[1, 2], 1)
expect_equal(adj[1, 3], 1)
expect_equal(adj[2, 1], 0)
expect_equal(adj[3, 1], 0)
})
test_that("ssim_to_matrix converts A correctly", {
ssim <- create_ssim(3)
ssim[1, 2] <- "A" # 2 -> 1
adj <- ssim_to_matrix(ssim)
expect_equal(adj[2, 1], 1)
expect_equal(adj[1, 2], 0)
})
test_that("ssim_to_matrix converts X correctly", {
ssim <- create_ssim(3)
ssim[1, 2] <- "X" # 1 <-> 2
adj <- ssim_to_matrix(ssim)
expect_equal(adj[1, 2], 1)
expect_equal(adj[2, 1], 1)
})
test_that("ssim_to_matrix converts O correctly", {
ssim <- create_ssim(3)
ssim[1, 2] <- "O" # No relation
adj <- ssim_to_matrix(ssim)
expect_equal(adj[1, 2], 0)
expect_equal(adj[2, 1], 0)
})
test_that("ssim_to_matrix is case-insensitive", {
ssim <- create_ssim(3)
ssim[1, 2] <- "v" # lowercase
ssim[1, 3] <- "a"
adj <- ssim_to_matrix(ssim)
expect_equal(adj[1, 2], 1)
expect_equal(adj[3, 1], 1)
})
test_that("ssim_to_matrix validates invalid codes", {
ssim <- create_ssim(3)
ssim[1, 2] <- "Z" # Invalid
expect_error(ssim_to_matrix(ssim), "Invalid SSIM codes")
})
test_that("ssim_to_matrix preserves labels", {
ssim <- create_ssim(c("A", "B", "C"))
ssim["A", "B"] <- "V"
adj <- ssim_to_matrix(ssim)
expect_equal(rownames(adj), c("A", "B", "C"))
expect_equal(colnames(adj), c("A", "B", "C"))
})
test_that("print.ssim_matrix works", {
ssim <- create_ssim(3)
expect_output(print(ssim), "Structural Self-Interaction Matrix")
expect_output(print(ssim), "V = i->j")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.