code: def setUp(self):
      self.edf = pd.DataFrame(
          [[0, 1, 0], [1, 2, 0], [2, 0, 1]],
          columns=["src", "dst", "rel"],
      )
      ndf_no_ids = pd.DataFrame([["a"], ["a"], ["b"]], columns=["feat"])
      ndf_with_ids = pd.DataFrame(
          [[0, "a"], [1, "a"], [2, "b"]], columns=["id", "feat1"]
      )
  
      self.graph_no_feat = graphistry.edges(self.edf, "src", "dst")
      self.graph_with_feat_no_ids = self.graph_no_feat.nodes(ndf_no_ids)
      self.graph_with_feat_with_ids = self.graph_no_feat.nodes(
          ndf_with_ids, "id"
      )
      self.graphs = [
          ("no_feat", self.graph_no_feat),
          ("with_feat_no_ids", self.graph_with_feat_no_ids),
          ("with_feat_with_ids", self.graph_with_feat_with_ids),
      ]
      self.d = 4
  
      self.kwargs = {
          "n_topics": 6,
          "cardinality_threshold": 10,
          "epochs": 1,
          "sample_size": 10,
          "num_steps": 10,
      }
  
imports: import os
  import pytest
  import pandas
  import unittest
  import graphistry
  import numpy
  from graphistry.embed_utils import lazy_embed_import_dep, check_cudf
  import logging
label_desc: Use image node_id 1 for calling the TestEmbed obj's underlying member method code with example usage: obj.setUp() without return types