code: def test_digraph1(self):
      # The classic directed graph example
      G = nx.DiGraph()
      G.add_edge("a", "b", capacity=1000.0)
      G.add_edge("a", "c", capacity=1000.0)
      G.add_edge("b", "c", capacity=1.0)
      G.add_edge("b", "d", capacity=1000.0)
      G.add_edge("c", "d", capacity=1000.0)
  
      H = {
          "a": {"b": 1000.0, "c": 1000.0},
          "b": {"c": 0, "d": 1000.0},
          "c": {"d": 1000.0},
          "d": {},
      }
  
      compare_flows_and_cuts(G, "a", "d", H, 2000.0)
  
imports: import pytest
  import networkx
  from networkx.algorithms.flow import boykov_kolmogorov, build_flow_dict, build_residual_network, dinitz, edmonds_karp, preflow_push, shortest_augmenting_path
label_desc: Use image node_id 3 for calling the TestMaxflowMinCutCommon obj's underlying member method code with example usage: obj.test_digraph1() without return types