code: def setup_class(cls):
      # G is the example graph in Figure 1 from Batagelj and
      # Zaversnik's paper titled An O(m) Algorithm for Cores
      # Decomposition of Networks, 2003,
      # http://arXiv.org/abs/cs/0310049.  With nodes labeled as
      # shown, the 3-core is given by nodes 1-8, the 2-core by nodes
      # 9-16, the 1-core by nodes 17-20 and node 21 is in the
      # 0-core.
      t1 = nx.convert_node_labels_to_integers(nx.tetrahedral_graph(), 1)
      t2 = nx.convert_node_labels_to_integers(t1, 5)
      G = nx.union(t1, t2)
      G.add_edges_from(
          [
              (3, 7),
              (2, 11),
              (11, 5),
              (11, 12),
              (5, 12),
              (12, 19),
              (12, 18),
              (3, 9),
              (7, 9),
              (7, 10),
              (9, 10),
              (9, 20),
              (17, 13),
              (13, 14),
              (14, 15),
              (15, 16),
              (16, 13),
          ]
      )
      G.add_node(21)
      cls.G = G
  
      # Create the graph H resulting from the degree sequence
      # [0, 1, 2, 2, 2, 2, 3] when using the Havel-Hakimi algorithm.
  
      degseq = [0, 1, 2, 2, 2, 2, 3]
      H = nx.havel_hakimi_graph(degseq)
      mapping = {6: 0, 0: 1, 4: 3, 5: 6, 3: 4, 1: 2, 2: 5}
      cls.H = nx.relabel_nodes(H, mapping)
  
imports: import pytest
  import networkx
  from networkx.utils import nodes_equal
label_desc: Use image node_id 1 for calling the TestCore obj's underlying member method code with example usage: obj.setup_class(cls) without return types