test_that("without_attr", { withr::local_seed(42) g <- sample_gnp(10, 2 / 10) %>% delete_graph_attr("name") %>% delete_graph_attr("type") %>% delete_graph_attr("loops") %>% delete_graph_attr("p") withr::local_seed(42) g2 <- sample_(gnp(10, 2 / 10), without_attr()) expect_true(identical_graphs(g, g2)) expect_equal(graph_attr_names(g2), character()) expect_equal(vertex_attr_names(g2), character()) expect_equal(edge_attr_names(g2), character()) }) test_that("without_loops", { g <- make_graph(~ A - A:B:C, B - A:B:C, simplify = FALSE) %>% simplify(remove.multiple = FALSE) g2 <- make_( from_literal(A - A:B:C, B - A:B:C, simplify = FALSE), without_loops() ) expect_true(identical_graphs(g, g2)) expect_true(all(!which_loop(g2))) }) test_that("without_multiple", { g <- make_graph(~ A - A:B:C, B - A:B:C, simplify = FALSE) %>% simplify(remove.loops = FALSE) g2 <- make_( from_literal(A - A:B:C, B - A:B:C, simplify = FALSE), without_multiples() ) expect_true(identical_graphs(g, g2)) expect_true(all(!which_multiple(g2))) }) test_that("simplified", { g <- make_graph(~ A - A:B:C, B - A:B:C) g2 <- make_( from_literal(A - A:B:C, B - A:B:C, simplify = FALSE), simplified() ) expect_true(identical_graphs(g, g2)) expect_true(all(!which_multiple(g2))) expect_true(all(!which_loop(g2))) }) test_that("with_vertex_", { g <- make_graph(~ A - A:B:C, B - A:B:C) %>% set_vertex_attr("color", value = "red") %>% set_vertex_attr("foo", value = paste0("xx", 1:3)) g2 <- make_( from_literal(A - A:B:C, B - A:B:C), with_vertex_( color = "red", foo = paste0("xx", 1:3) ) ) expect_true(identical_graphs(g, g2)) expect_equal(V(g2)$color, rep("red", gorder(g2))) expect_equal(V(g2)$foo, paste0("xx", 1:3)) }) test_that("with_edge_", { g <- make_graph(~ A - A:B:C, B - A:B:C) %>% set_edge_attr("color", value = "red") %>% set_edge_attr("foo", value = seq_len(3)) g2 <- make_( from_literal(A - A:B:C, B - A:B:C), with_edge_( color = "red", foo = seq_len(3) ) ) expect_true(identical_graphs(g, g2)) expect_equal(E(g)$color, E(g2)$color) expect_equal(E(g)$foo, E(g2)$foo) }) test_that("with_graph_", { g <- make_graph(~ A - A:B:C, B - A:B:C) %>% set_graph_attr("color", value = "red") %>% set_graph_attr("foo", value = 1:5) g2 <- make_( from_literal(A - A:B:C, B - A:B:C), with_graph_( color = "red", foo = 1:5 ) ) expect_true(identical_graphs(g, g2)) expect_equal(g$color, g2$color) expect_equal(g$foo, g2$foo) }) test_that("adding and removing attributes", { g <- make_empty_graph() g2 <- make_empty_graph() g$foo <- "bar" g <- delete_graph_attr(g, "foo") E(g)$foo <- "bar" g <- delete_edge_attr(g, "foo") V(g)$foo <- "bar" g <- delete_vertex_attr(g, "foo") expect_true(identical_graphs(g, g2)) })