code: def test_resample_disjoint_heterogeneous(self):
      G = generate_dense_hete_dataset()
      hete = HeteroGraph(G)
      graphs = [hete]
      dataset = GraphDataset(
          graphs,
          task="link_pred",
          edge_train_mode="disjoint",
          edge_message_ratio=0.8,
          resample_disjoint=True,
          resample_disjoint_period=1,
      )
      dataset_train, _, _ = dataset.split(split_ratio=[0.5, 0.2, 0.3])
      graph_train_first = dataset_train[0]
      graph_train_second = dataset_train[0]
  
      for message_type in graph_train_first.edge_index:
          self.assertEqual(
              graph_train_first.edge_label_index[message_type].shape[1],
              graph_train_second.edge_label_index[message_type].shape[
                  1
              ],
          )
  
          self.assertEqual(
              graph_train_first.edge_label[message_type].shape,
              graph_train_second.edge_label[message_type].shape,
          )
  
imports: import random
  import torch
  import unittest
  from torch_geometric.datasets import TUDataset, Planetoid
  from copy import deepcopy
  from deepsnap.graph import Graph
  from deepsnap.hetero_graph import HeteroGraph
  from deepsnap.dataset import GraphDataset, Generator, EnsembleGenerator
  from tests.utils import simple_networkx_graph, simple_networkx_small_graph, simple_networkx_graph_alphabet, simple_networkx_dense_graph, simple_networkx_dense_multigraph, simple_networkx_multigraph, generate_dense_hete_dataset, generate_simple_small_hete_graph, generate_simple_dense_hete_graph, generate_simple_dense_hete_multigraph, generate_dense_hete_multigraph, gen_graph
label_desc: Use image node_id 10 for calling the TestDataset obj's underlying member method code with example usage: obj.test_resample_disjoint_heterogeneous() without return types