docstr: basic test for block_diag 
docstr_tok: ["basic","test","for","block_diag"]
code: def test_block_diag_basic(self):
      """basic test for block_diag"""
      A = coo_array([[1, 2], [3, 4]])
      B = coo_array([[5], [6]])
      C = coo_array([[7]])
  
      expected = array(
          [
              [1, 2, 0, 0],
              [3, 4, 0, 0],
              [0, 0, 5, 0],
              [0, 0, 6, 0],
              [0, 0, 0, 7],
          ]
      )
  
      assert_equal(construct.block_diag((A, B, C)).toarray(), expected)
  
imports: import numpy
  from numpy import array
  from numpy.testing import assert_equal, assert_, assert_array_equal, assert_array_almost_equal_nulp
  import pytest
  from pytest import raises
  from scipy._lib._testutils import check_free_memory
  from scipy._lib._util import check_random_state
  from scipy.sparse import csr_matrix, coo_matrix, csr_array, coo_array, sparray, spmatrix, _construct
  from scipy.sparse._construct import rand
label_desc: Use image node_id 25 for calling the TestConstructUtils obj's underlying member method code with example usage: obj.test_block_diag_basic() without return types