Nothing
context("Metrics Stability and Robustness")
test_that("Stability handles trivial lattices (only top/bottom)", {
# Contexto 1x1 con 0
I <- matrix(0, 1, 1)
fc <- FormalContext$new(I)
fc$find_concepts()
# Solo concepto (empty_extent, empty_intent) o similar
stabs <- fc$concepts$stability()
expect_false(any(is.nan(stabs)))
expect_false(any(is.infinite(stabs)))
# Contexto 1x1 con 1
I2 <- matrix(1, 1, 1)
fc2 <- FormalContext$new(I2)
fc2$find_concepts()
stabs2 <- fc2$concepts$stability()
expect_true(all(stabs2 >= 0 & stabs2 <= 1))
})
test_that("Separation metric integration works", {
# El test existente prueba la llamada, pero este verifica la lógica sobre un caso conocido
# Retículo booleano B2 (cuadrado)
# Top, A, B, Bottom.
# Separation(Top): extent=Total. Hijos=A, B. Union(A,B) cubre todo excepto si hay objetos específicos.
I <- matrix(c(1, 0,
0, 1), nrow=2, byrow=TRUE)
colnames(I) <- c("a", "b")
fc <- FormalContext$new(I)
fc$find_concepts()
# Verificar que separation no falla
# Nota: calculate_separation es interna en R/metrics.R pero se accede via $separation() en lattice
sep <- fc$concepts$separation()
expect_equal(length(sep), fc$concepts$size())
expect_is(sep, "numeric")
})
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.