test_that("Listing triangles works", { triangles <- function(...) as.vector(igraph::triangles(...)) g1 <- make_empty_graph(directed = TRUE) g2 <- make_empty_graph(directed = FALSE) expect_equal(triangles(g1), numeric()) expect_equal(triangles(g2), numeric()) g3 <- make_empty_graph(n = 1, directed = TRUE) g4 <- make_empty_graph(n = 1, directed = FALSE) expect_equal(triangles(g3), numeric()) expect_equal(triangles(g4), numeric()) g5 <- make_empty_graph(n = 100, directed = TRUE) g6 <- make_empty_graph(n = 100, directed = FALSE) expect_equal(triangles(g5), numeric()) expect_equal(triangles(g6), numeric()) g7 <- make_ring(3, directed = FALSE) g8 <- make_ring(3, directed = TRUE) g9 <- graph_from_literal(A - +B:C, B - +C) expect_equal(sort(triangles(g7)), 1:3) expect_equal(sort(triangles(g8)), 1:3) expect_equal(sort(triangles(g9)), 1:3) g10 <- make_full_graph(5, directed = FALSE) g11 <- make_full_graph(5, directed = TRUE) r10 <- c( 1L, 2L, 5L, 1L, 2L, 3L, 1L, 2L, 4L, 1L, 3L, 5L, 1L, 3L, 4L, 1L, 4L, 5L, 2L, 3L, 5L, 2L, 3L, 4L, 2L, 4L, 5L, 3L, 4L, 5L ) r11 <- r10 expect_equal(triangles(g10), r10) expect_equal(triangles(g11), r11) })