code: def test_minimal_edges_str(self):
      import cudf
  
      g = graphistry.edges(
          pd.DataFrame(
              {
                  "s": [x[0] for x in edges],
                  "d": [x[1] for x in edges],
              }
          ).astype(str),
          "s",
          "d",
      )
      G = g.to_cugraph()
      logger.debug("G: %s", G)
      g2 = graphistry.from_cugraph(G)
      assert g2._edges.shape == g._edges.shape
      assert g2._source == SRC_CUGRAPH
      assert g2._destination == DST_CUGRAPH
      assert g2._edge is None
      assert (
          g2._edges.rename(columns={SRC_CUGRAPH: "s", DST_CUGRAPH: "d"})
          .sort_values(by=["s", "d"])
          .reset_index(drop=True)
          .equals(
              cudf.from_pandas(g._edges)
              .sort_values(by=["s", "d"])
              .reset_index(drop=True)
          )
      )
      assert g._node is None and g._nodes is None
  
imports: from functools import lru_cache
  import graphistry, logging, os, pandas, pytest
  from graphistry.tests.common import NoAuthTestCase
  from graphistry.constants import SRC, DST, NODE
  from graphistry.plugins.cugraph import SRC_CUGRAPH, DST_CUGRAPH, NODE_CUGRAPH, from_cugraph, to_cugraph, compute_cugraph, layout_cugraph, compute_algs, node_compute_algs_to_attr, layout_algs
label_desc: Use image node_id 4 for calling the Test_to_cugraph obj's underlying member method code with example usage: obj.test_minimal_edges_str() without return types