Nothing
test_that("hungarian == jv on small squares", {
set.seed(1)
for (n in 2:7) {
M <- matrix(runif(n*n), n)
a <- assignment(M, method = "jv")
h <- assignment(M, method = "hungarian")
expect_equal(a$total_cost, h$total_cost, tolerance = 1e-10)
}
})
test_that("hungarian handles rectangles and NA", {
set.seed(2)
n <- 5; m <- 9
M <- matrix(runif(n*m), n, m)
M[sample.int(length(M), size = 8)] <- NA
for (i in 1:n) if (all(is.na(M[i,]))) M[i, sample.int(m, 1)] <- runif(1)
h <- assignment(M, method = "hungarian")
j <- assignment(M, method = "jv")
expect_equal(h$total_cost, j$total_cost, tolerance = 1e-8)
expect_equal(length(unique(h$match)), n)
expect_true(all(h$match >= 1L & h$match <= m))
})
test_that("hungarian errors when a row is entirely forbidden", {
M <- matrix(1, 3, 5)
M[1,] <- NA
expect_error(assignment(M, method = "hungarian"), "Infeasible")
})
test_that("maximize works for hungarian", {
set.seed(3)
n <- 6
M <- matrix(runif(n*n), n)
a <- assignment(M, maximize = TRUE, method = "hungarian")
b <- assignment(-M, maximize = FALSE, method = "hungarian")
expect_equal(a$total_cost, -b$total_cost, tolerance = 1e-10)
})
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.