code: def test_call(self):
      geo_feat_len = 24
      pooling_h, pooling_w = pooling_out_size = (2, 2)
  
      local_graph_generator = ProposalLocalGraphs(
          (4, 4),
          2,
          geo_feat_len,
          1.0,
          pooling_out_size,
          0.1,
          3.0,
          6.0,
          1.0,
          0.5,
          0.3,
          0.5,
          0.5,
          2,
      )
  
      maps = torch.zeros((1, 6, 224, 224), dtype=torch.float)
      maps[:, 0:2, :, :] = -10.0
      maps[:, 0, 60:100, 50:170] = 10.0
      maps[:, 1, 75:85, 60:160] = 10.0
      maps[:, 2, 75:85, 60:160] = 0.0
      maps[:, 3, 75:85, 60:160] = 1.0
      maps[:, 4, 75:85, 60:160] = 10.0
      maps[:, 5, 75:85, 60:160] = 10.0
      feature_maps = torch.randn((2, 6, 224, 224), dtype=torch.float)
      feat_len = (
          geo_feat_len + feature_maps.size()[1] * pooling_h * pooling_w
      )
  
      none_flag, graph_data = local_graph_generator(maps, feature_maps)
      (
          node_feats,
          adjacent_matrices,
          knn_inds,
          local_graphs,
          text_comps,
      ) = graph_data
  
      self.assertFalse(none_flag, False)
      self.assertEqual(text_comps.ndim, 2)
      self.assertGreater(text_comps.shape[0], 0)
      self.assertEqual(text_comps.shape[1], 9)
      self.assertTrue(
          node_feats.size()[0]
          == adjacent_matrices.size()[0]
          == knn_inds.size()[0]
          == local_graphs.size()[0]
          == text_comps.shape[0]
      )
      self.assertTrue(
          node_feats.size()[1]
          == adjacent_matrices.size()[1]
          == adjacent_matrices.size()[2]
          == local_graphs.size()[1]
      )
      self.assertEqual(node_feats.size()[-1], feat_len)
  
      # test proposal local graphs with area of center region less than
      # threshold
      maps[:, 1, 75:85, 60:160] = -10.0
      maps[:, 1, 80, 80] = 10.0
      none_flag, _ = local_graph_generator(maps, feature_maps)
      self.assertTrue(none_flag)
  
      # test proposal local graphs with one text component
      local_graph_generator = ProposalLocalGraphs(
          (4, 4),
          2,
          geo_feat_len,
          1.0,
          pooling_out_size,
          0.1,
          8.0,
          20.0,
          1.0,
          0.5,
          0.3,
          0.5,
          0.5,
          2,
      )
      maps[:, 1, 78:82, 78:82] = 10.0
      none_flag, _ = local_graph_generator(maps, feature_maps)
      self.assertTrue(none_flag)
  
      # test proposal local graphs with text components out of text region
      maps[:, 0, 60:100, 50:170] = -10.0
      maps[:, 0, 78:82, 78:82] = 10.0
      none_flag, _ = local_graph_generator(maps, feature_maps)
      self.assertTrue(none_flag)
  
imports: from unittest import TestCase, mock
  import numpy
  import torch
  from mmocr.models.textdet.heads.drrg_head import GCN, DRRGHead, LocalGraphs, ProposalLocalGraphs, feature_embedding, normalize_adjacent_matrix
label_desc: Use image node_id 1 for calling the TestProposalLocalGraphs obj's underlying member method code with example usage: obj.test_call() without return types