def METHOD_NAME(self):
    self.graph.add_edges_from([[("a", "b"), ("b", "c")]])
    phi1 = DiscreteFactor(["a", "b"], [2, 2], np.random.rand(4))
    phi2 = DiscreteFactor(["b", "c"], [2, 2], np.random.rand(4))
    self.graph.add_factors(phi1, phi2)
    graph_copy = self.graph.copy()
    self.graph.factors[0].reduce([("a", 0)])
    self.assertNotEqual(
        self.graph.factors[0].scope(), graph_copy.factors[0].scope()
    )
    self.assertNotEqual(self.graph, graph_copy)
    self.graph.factors[1].marginalize(["b"])
    self.assertNotEqual(
        self.graph.factors[1].scope(), graph_copy.factors[1].scope()
    )
    self.assertNotEqual(self.graph, graph_copy)