code: def test_copy_without_factors(self):
      self.graph.add_nodes_from(
          [("a", "b", "c"), ("a", "b"), ("a", "c")]
      )
      self.graph.add_edges_from(
          [(("a", "b", "c"), ("a", "b")), (("a", "b", "c"), ("a", "c"))]
      )
      graph_copy = self.graph.copy()
      self.graph.remove_edge(("a", "b", "c"), ("a", "c"))
      self.assertFalse(self.graph.has_edge(("a", "b", "c"), ("a", "c")))
      self.assertTrue(graph_copy.has_edge(("a", "b", "c"), ("a", "c")))
      self.graph.remove_node(("a", "c"))
      self.assertFalse(self.graph.has_node(("a", "c")))
      self.assertTrue(graph_copy.has_node(("a", "c")))
      self.graph.add_node(("c", "d"))
      self.assertTrue(self.graph.has_node(("c", "d")))
      self.assertFalse(graph_copy.has_node(("c", "d")))
  
imports: import unittest
  import numpy
  from pgmpy.factors.discrete import DiscreteFactor
  from pgmpy.models import ClusterGraph
  from pgmpy.tests import help_functions
label_desc: Use image node_id 8 for calling the TestClusterGraphMethods obj's underlying member method code with example usage: obj.test_copy_without_factors() without return types