code: def test_moralize(self):
      self.network.add_edges_from(
          ([(("D", 0), ("G", 0)), (("I", 0), ("G", 0))])
      )
      moral_graph = self.network.moralize()
      self.assertListEqual(
          hf.recursive_sorted(moral_graph.edges()),
          [
              [("D", 0), ("G", 0)],
              [("D", 0), ("I", 0)],
              [("D", 1), ("G", 1)],
              [("D", 1), ("I", 1)],
              [("G", 0), ("I", 0)],
              [("G", 1), ("I", 1)],
          ],
      )
  
imports: import unittest
  import numpy
  import numpy.testing
  import pandas
  import pgmpy.tests.help_functions
  from pgmpy.factors.discrete import TabularCPD
  from pgmpy.inference import CausalInference, DBNInference, VariableElimination
  from pgmpy.models import BayesianNetwork
  from pgmpy.models import DynamicBayesianNetwork
label_desc: Use image node_id 12 for calling the TestDynamicBayesianNetworkMethods obj's underlying member method code with example usage: obj.test_moralize() without return types