test_that("all.st.cuts works", { unvs <- function(x) lapply(x, as.vector) g <- graph_from_literal(a -+ b -+ c -+ d -+ e) cc <- st_cuts(g, source = "a", target = "e") expect_that(unvs(cc$cuts), equals(list(1, 2, 3, 4))) expect_that(unvs(cc$partition1s), equals(list(1, 1:2, 1:3, 1:4))) g2 <- graph_from_literal(s -+ a:b -+ t, a -+ 1:2:3 -+ b) cc <- st_cuts(g2, source = "s", target = "t") expect_that(unvs(cc$cuts), equals(list( c(1, 2), c(1, 7), c(2, 3, 4, 5, 6), c(2, 3, 4, 5, 10), c(2, 3, 4, 6, 9), c(2, 3, 4, 9, 10), c(2, 3, 5, 6, 8), c(2, 3, 5, 8, 10), c(2, 3, 6, 8, 9), c(2, 3, 8, 9, 10), c(3, 7) ))) expect_that( unvs(cc$partition1s), equals(list( 1, c(1, 3), c(1, 2), c(1, 2, 7), c(1, 2, 6), c(1, 2, 6, 7), c(1, 2, 5), c(1, 2, 5, 7), c(1, 2, 5, 6), c(1, 2, 5, 6, 7), c(1, 2, 5, 6, 7, 3) )) ) g3 <- graph_from_literal(s -+ a:b -+ t, a -+ 1:2:3:4:5 -+ b) cc <- st_min_cuts(g3, source = "s", target = "t") expect_that(cc$value, equals(2)) expect_that(unvs(cc$cuts), equals(list(c(1, 2), c(2, 3), c(1, 9), c(3, 9)))) expect_that(unvs(cc$partition1s), equals(list(1, c(1, 2, 9, 8, 7, 6, 5), c(1, 3), c(1, 3, 2, 9, 8, 7, 6, 5)))) })