1 2context("as.directed") 3 4test_that("as.directed works", { 5 library(igraph) 6 7 g <- sample_gnp(100, 2/100) 8 g2 <- as.directed(g, mode="mutual") 9 g3 <- as.directed(g, mode="arbitrary") 10 11 expect_that(degree(g), equals(degree(g3))) 12 expect_that(degree(g), equals(degree(g2) / 2)) 13 14 expect_true(graph.isomorphic(g, as.undirected(g2))) 15 expect_true(graph.isomorphic(g, as.undirected(g3))) 16}) 17 18test_that("as.directed keeps attributes", { 19 library(igraph) 20 g <- graph_from_literal( A-B-C, D-A, E ) 21 g$name <- "Small graph" 22 g2 <- as.directed(g, mode="mutual") 23 g3 <- as.directed(g, mode="arbitrary") 24 expect_that(g2$name, equals(g$name)) 25 expect_that(V(g2)$name, equals(V(g)$name)) 26 expect_that(g3$name, equals(g$name)) 27 expect_that(V(g3)$name, equals(V(g)$name)) 28 29 E(g)$weight <- seq_len(ecount(g)) 30 g4 <- as.directed(g, "mutual") ; df4 <- as_data_frame(g4) 31 g5 <- as.directed(g, "arbitrary") ; df5 <- as_data_frame(g5) 32 expect_that(df4[order(df4[,1], df4[,2]),]$weight, equals(c(1,2,1,3,3,2))) 33 expect_that(df5[order(df5[,1], df5[,2]),]$weight, equals(1:3)) 34}) 35 36