tests/testthat/test-triangles.R

test_that("Listing triangles works", {
  triangles <- function(...) as.vector(igraph::triangles(...))

  g1 <- make_empty_graph(directed = TRUE)
  g2 <- make_empty_graph(directed = FALSE)
  expect_that(triangles(g1), equals(numeric()))
  expect_that(triangles(g2), equals(numeric()))

  g3 <- make_empty_graph(n = 1, directed = TRUE)
  g4 <- make_empty_graph(n = 1, directed = FALSE)
  expect_that(triangles(g3), equals(numeric()))
  expect_that(triangles(g4), equals(numeric()))

  g5 <- make_empty_graph(n = 100, directed = TRUE)
  g6 <- make_empty_graph(n = 100, directed = FALSE)
  expect_that(triangles(g5), equals(numeric()))
  expect_that(triangles(g6), equals(numeric()))

  g7 <- make_ring(3, directed = FALSE)
  g8 <- make_ring(3, directed = TRUE)
  g9 <- graph_from_literal(A -+ B:C, B -+ C)
  expect_that(sort(triangles(g7)), equals(1:3))
  expect_that(sort(triangles(g8)), equals(1:3))
  expect_that(sort(triangles(g9)), equals(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_that(triangles(g10), equals(r10))
  expect_that(triangles(g11), equals(r11))
})

Try the igraph package in your browser

Any scripts or data that you put into this service are public.

igraph documentation built on Aug. 10, 2023, 9:08 a.m.