code: def test_add_edges_from_string(self):
      self.graph.add_edges_from([("a", "b"), ("b", "c")])
      self.assertListEqual(sorted(self.graph.nodes()), ["a", "b", "c"])
      self.assertListEqual(
          hf.recursive_sorted(self.graph.edges()),
          [["a", "b"], ["b", "c"]],
      )
      self.graph.add_nodes_from(["d", "e", "f"])
      self.graph.add_edges_from([("d", "e"), ("e", "f")])
      self.assertListEqual(
          sorted(self.graph.nodes()), ["a", "b", "c", "d", "e", "f"]
      )
      self.assertListEqual(
          hf.recursive_sorted(self.graph.edges()),
          hf.recursive_sorted(
              [("a", "b"), ("b", "c"), ("d", "e"), ("e", "f")]
          ),
      )
  
imports: from pgmpy.base import UndirectedGraph
  from pgmpy.tests import help_functions
  import unittest
label_desc: Use image node_id 12 for calling the TestUndirectedGraphCreation obj's underlying member method code with example usage: obj.test_add_edges_from_string() without return types