docstr: Writing keys as edge id attributes means keys become strings.
  The original keys are stored as data, so read them back in
  if `str(key) == edge_id`
  This allows the adjacency to remain the same.
code: def test_more_multigraph_keys(self, tmp_path):
      """Writing keys as edge id attributes means keys become strings.
      The original keys are stored as data, so read them back in
      if `str(key) == edge_id`
      This allows the adjacency to remain the same.
      """
      G = nx.MultiGraph()
      G.add_edges_from([("a", "b", 2), ("a", "b", 3)])
      fname = tmp_path / "test.graphml"
      self.writer(G, fname)
      H = nx.read_graphml(fname)
      assert H.is_multigraph()
      assert edges_equal(G.edges(keys=True), H.edges(keys=True))
      assert G._adj == H._adj
  
imports: import io
  import pytest
  import networkx
  from networkx.readwrite.graphml import GraphMLWriter
  from networkx.utils import edges_equal, nodes_equal
label_desc: Use image node_id 8 for calling the TestWriteGraphML obj's underlying member method code with example usage: obj.test_more_multigraph_keys(tmp_path) without return types