code: def cases_test_graph(
      self, g, name, value, kind="nodes", df=ndf_reddit
  ):
      print(f"<{name} test graph: {value}>")
      if kind == "nodes":
          ndf = g._nodes
          self.cases_check_node_attributes(g)
      else:
          ndf = g._edges
          self.cases_check_edge_attributes(g)
  
      cols = ndf.columns
      self.assertTrue(
          np.all(ndf.fillna(0) == df[cols].fillna(0)),
          f"Graphistry {kind}-dataframe does not match outside dataframe it was fed",
      )
  
imports: import datetime
  import graphistry
  import logging
  import numpy
  import pandas
  from typing import Any
  import pytest
  import unittest
  import warnings
  from graphistry.feature_utils import process_dirty_dataframes, process_nodes_dataframes, resolve_feature_engine, lazy_import_has_min_dependancy, lazy_import_has_dependancy_text, FastEncoder
  from graphistry.features import topic_model, ngrams_model
  from graphistry.constants import SCALERS
label_desc: Use image node_id 4 for calling the TestFeatureMethods obj's underlying member method code with example usage: obj.cases_test_graph(g, name, value, kind, df) without return types