diff --git a/src/rinterface_extra.c b/src/rinterface_extra.c index bed4b7877cf..04137a7d04d 100644 --- a/src/rinterface_extra.c +++ b/src/rinterface_extra.c @@ -2900,8 +2900,8 @@ void R_igraph_restore_pointer(SEXP graph) { for (i = 0; i < s; ++i) { - igraph_vector_set(&v, i*2, VECTOR(to)[i]); - igraph_vector_set(&v, i*2+1, VECTOR(from)[i]); + igraph_vector_set(&v, i*2, VECTOR(from)[i]); + igraph_vector_set(&v, i*2+1, VECTOR(to)[i]); } igraph_empty(&g, n, directed); diff --git a/tests/testthat/_snaps/plot/basic-graph-r-4-2.svg b/tests/testthat/_snaps/plot/basic-graph-r-4-2.svg index 88eb7423399..fddeb30284f 100644 --- a/tests/testthat/_snaps/plot/basic-graph-r-4-2.svg +++ b/tests/testthat/_snaps/plot/basic-graph-r-4-2.svg @@ -25,16 +25,16 @@ - - - - - + + + + + -1 -2 -3 +1 +2 +3 diff --git a/tests/testthat/test-serialize.R b/tests/testthat/test-serialize.R new file mode 100644 index 00000000000..d2009965f70 --- /dev/null +++ b/tests/testthat/test-serialize.R @@ -0,0 +1,8 @@ +test_that("serialization works", { + local_igraph_options(print.id = FALSE) + + g <- make_ring(3, directed = TRUE) + gs <- unserialize(serialize(g, NULL)) + + expect_identical(unclass(g)[-igraph_t_idx_env], unclass(gs)[-igraph_t_idx_env]) +})