code: def test_remove_edge(self):
      G = self.K3
      G.remove_edge(0, 1)
      assert G._succ == {
          0: {2: {0: {}}},
          1: {0: {0: {}}, 2: {0: {}}},
          2: {0: {0: {}}, 1: {0: {}}},
      }
      assert G._pred == {
          0: {1: {0: {}}, 2: {0: {}}},
          1: {2: {0: {}}},
          2: {0: {0: {}}, 1: {0: {}}},
      }
      pytest.raises((KeyError, nx.NetworkXError), G.remove_edge, -1, 0)
      pytest.raises(
          (KeyError, nx.NetworkXError), G.remove_edge, 0, 2, key=1
      )
  
imports: from collections import UserDict
  import pytest
  import networkx
  from networkx.utils import edges_equal
  from .test_multigraph import BaseMultiGraphTester
  from .test_multigraph import TestEdgeSubgraph
  from .test_multigraph import TestMultiGraph
label_desc: Use image node_id 4 for calling the TestMultiDiGraph obj's underlying member method code with example usage: obj.test_remove_edge() without return types