code: def test_nodes_undirected(self):
      g = graphistry.edges(
          pd.DataFrame(
              {
                  "s": [x[0] for x in edges],
                  "d": [x[1] for x in edges],
              }
          ),
          "s",
          "d",
      ).nodes(pd.DataFrame({"n": nodes, "names": names_v}), "n")
      ig = g.to_igraph(directed=False)
      logger.debug("ig: %s", ig)
      g2 = g.from_igraph(ig)
      assert g2._edges.shape == g._edges.shape
      assert g2._source == g._source
      assert g2._destination == g._destination
      assert g2._edge is None
      logger.debug("g2._nodes: %s", g2._nodes)
      assert g2._nodes.equals(
          pd.DataFrame({"n": nodes, "names": names_v})
      )
      assert g2._node == "n"
  
imports: import pyarrow
  import graphistry, logging, pandas, pytest, warnings
  from graphistry.tests.common import NoAuthTestCase
  from graphistry.constants import SRC, DST, NODE
  from graphistry.plugins.igraph import SRC_IGRAPH, DST_IGRAPH, compute_algs, compute_igraph, layout_algs, layout_igraph
label_desc: Use image node_id 12 for calling the Test_to_igraph obj's underlying member method code with example usage: obj.test_nodes_undirected() without return types