code: def _check_attributes(self, g, attributes):
      msg = (
          "Graphistry instance after umap should have `{}` as attribute"
      )
      msg2 = "Graphistry instance after umap should not have None values for `{}`"
      objs = (pd.DataFrame,)
      if has_cudf:
          objs = (pd.DataFrame, cudf.DataFrame)
  
      for attribute in attributes:
          self.assertTrue(hasattr(g, attribute), msg.format(attribute))
          self.assertTrue(
              getattr(g, attribute) is not None, msg2.format(attribute)
          )
          if "df" in attribute:
              self.assertIsInstance(
                  getattr(g, attribute), objs, msg.format(attribute)
              )
          if "node_" in attribute:
              self.assertIsInstance(
                  getattr(g, attribute), objs, msg.format(attribute)
              )
          if "edge_" in attribute:
              self.assertIsInstance(
                  getattr(g, attribute), objs, msg.format(attribute)
              )
  
imports: from xml.sax.handler import feature_external_ges
  import pytest
  import unittest
  import warnings
  import graphistry
  import os
  import logging
  import numpy
  import pandas
  from graphistry import Plottable
  from graphistry.feature_utils import remove_internal_namespace_if_present
  from graphistry.tests.test_feature_utils import ndf_reddit, text_cols_reddit, meta_cols_reddit, good_cols_reddit, single_target_reddit, double_target_reddit, edge_df, edge_df2, edge2_target_df, model_avg_name, lazy_import_has_min_dependancy, check_allclose_fit_transform_on_same_data
  from graphistry.umap_utils import lazy_umap_import_has_dependancy, lazy_cuml_import_has_dependancy, lazy_cudf_import_has_dependancy
label_desc: Use image node_id 1 for calling the TestUMAPMethods obj's underlying member method code with example usage: obj._check_attributes(g, attributes) without return types