Nothing
test_that("RandomContext generates correct dimensions", {
n_obj <- 10
n_att <- 8
fc <- RandomContext(n_obj, n_att, density = 0.5)
expect_equal(fc$dim(), c(n_obj, n_att))
expect_true(inherits(fc, "FormalContext"))
})
test_that("Dirichlet distribution runs", {
fc <- RandomContext(20, 10, distribution = "dirichlet", alpha = 0.5)
expect_equal(fc$dim(), c(20, 10))
# Dirichlet tends to produce varied row sums
rs <- rowSums(fc$incidence())
expect_true(max(rs) >= min(rs))
})
test_that("Edge Swapping preserves marginals", {
data(planets)
fc <- FormalContext$new(planets)
I_orig <- as.matrix(fc$incidence())
# Convert to binary strict for comparison
I_orig[I_orig > 0] <- 1
row_sums_orig <- rowSums(I_orig)
col_sums_orig <- colSums(I_orig)
fc_swap <- randomize_context(fc, method = "swap", iterations = 1000)
I_swap <- as.matrix(fc_swap$incidence())
expect_equal(rowSums(I_swap), row_sums_orig)
expect_equal(colSums(I_swap), col_sums_orig)
# Matrix content should likely differ (unless very small/locked)
if (sum(I_orig) > 5 && sum(I_orig) < length(I_orig) - 5) {
expect_false(all(I_swap == I_orig))
}
})
test_that("Rewiring preserves density only", {
data(planets)
fc <- FormalContext$new(planets)
fc_rewire <- randomize_context(fc, method = "rewire", iterations = 1000)
# Density check
expect_equal(sum(fc$incidence() > 0), sum(fc_rewire$incidence()))
})
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.