code: def test_homo_graph(total_num_nodes, total_num_edges):
      csc_indptr, indices = gbt.random_homo_graph(
          total_num_nodes, total_num_edges
      )
      node_attributes = {
          "A1": torch.arange(total_num_nodes),
          "A2": torch.arange(total_num_nodes),
      }
      edge_attributes = {
          "A1": torch.randn(total_num_edges),
          "A2": torch.randn(total_num_edges),
      }
      graph = gb.fused_csc_sampling_graph(
          csc_indptr,
          indices,
          node_attributes=node_attributes,
          edge_attributes=edge_attributes,
      )
  
      assert graph.total_num_nodes == total_num_nodes
      assert graph.total_num_edges == total_num_edges
  
      assert torch.equal(csc_indptr, graph.csc_indptr)
      assert torch.equal(indices, graph.indices)
  
      assert graph.node_attributes == node_attributes
      assert graph.edge_attributes == edge_attributes
      assert graph.node_type_offset is None
      assert graph.type_per_edge is None
      assert graph.node_type_to_id is None
      assert graph.edge_type_to_id is None
  
imports: import os
  import pickle
  import re
  import tempfile
  import unittest
  import backend
  import dgl
  import dgl.graphbolt
  import pytest
  import torch
  import torch.multiprocessing
  from dgl.graphbolt.base import etype_str_to_tuple
  from scipy import sparse
  from ..None import gb_test_utils
label_desc: Use image node_id 5 for calling a global function with example usage: test_homo_graph(total_num_nodes, total_num_edges) without return types