code: def test_cut_same_labels(self):
      G1 = nx.DiGraph(
          [
              (0, 1),
              (2, 1),
              (10, 0),
              (10, 3),
              (10, 4),
              (5, 10),
              (10, 6),
              (1, 4),
              (5, 3),
          ]
      )
      mapped = {
          0: "a",
          1: "b",
          2: "c",
          3: "d",
          4: "e",
          5: "f",
          6: "g",
          10: "k",
      }
      G2 = nx.relabel_nodes(G1, mapped)
      l1 = {n: "blue" for n in G1.nodes()}
      l2 = {n: "blue" for n in G2.nodes()}
  
      gparams = _GraphParameters(
          G1, G2, l1, l2, nx.utils.groups(l1), nx.utils.groups(l2), None
      )
      sparams = _StateParameters(
          {0: "a", 1: "b", 2: "c", 3: "d"},
          {"a": 0, "b": 1, "c": 2, "d": 3},
          {4},
          {5, 10},
          {6},
          None,
          {"e"},
          {"f", "k"},
          {"g"},
          None,
      )
  
      u, v = 10, "k"
      assert not _cut_PT(u, v, gparams, sparams)
  
      # Change intersection between G1[u] and T1_out, so it's not the same as the one between G2[v] and T2_out
      G1.remove_edge(u, 4)
      assert _cut_PT(u, v, gparams, sparams)
  
      # Compensate in G2
      G2.remove_edge(v, mapped[4])
      assert not _cut_PT(u, v, gparams, sparams)
  
      # Change intersection between G1[u] and T1_in, so it's not the same as the one between G2[v] and T2_in
      G1.remove_edge(5, u)
      assert _cut_PT(u, v, gparams, sparams)
  
      # Compensate in G2
      G2.remove_edge(mapped[5], v)
      assert not _cut_PT(u, v, gparams, sparams)
  
      # Change intersection between G2[v] and T2_tilde, so it's not the same as the one between G1[u] and T1_tilde
      G2.remove_edge(v, mapped[6])
      assert _cut_PT(u, v, gparams, sparams)
  
      # Compensate in G1
      G1.remove_edge(u, 6)
      assert not _cut_PT(u, v, gparams, sparams)
  
      # Add disconnected nodes, which will form the new Ti_tilde
      G1.add_nodes_from([6, 7, 8])
      G2.add_nodes_from(["g", "y", "z"])
      sparams.T1_tilde.update({6, 7, 8})
      sparams.T2_tilde.update({"g", "y", "z"})
  
      l1 = {n: "blue" for n in G1.nodes()}
      l2 = {n: "blue" for n in G2.nodes()}
      gparams = _GraphParameters(
          G1, G2, l1, l2, nx.utils.groups(l1), nx.utils.groups(l2), None
      )
  
      assert not _cut_PT(u, v, gparams, sparams)
  
imports: import itertools
  import pytest
  import networkx
  from networkx import vf2pp_is_isomorphic, vf2pp_isomorphism
  from networkx.algorithms.isomorphism.vf2pp import _consistent_PT, _cut_PT, _feasibility, _find_candidates, _find_candidates_Di, _GraphParameters, _initialize_parameters, _matching_order, _restore_Tinout, _restore_Tinout_Di, _StateParameters, _update_Tinout
label_desc: Use image node_id 7 for calling the TestDiGraphISOFeasibility obj's underlying member method code with example usage: obj.test_cut_same_labels() without return types