code: def test_vstack(self):
      A = coo_matrix([[1, 2], [3, 4]])
      B = coo_matrix([[5, 6]])
  
      expected = matrix([[1, 2], [3, 4], [5, 6]])
      assert_equal(construct.vstack([A, B]).todense(), expected)
      assert_equal(
          construct.vstack([A, B], dtype=np.float32).dtype, np.float32
      )
      assert_equal(
          construct.vstack([A.tocsr(), B.tocsr()]).todense(), expected
      )
      assert_equal(
          construct.vstack(
              [A.tocsr(), B.tocsr()], dtype=np.float32
          ).dtype,
          np.float32,
      )
      assert_equal(
          construct.vstack(
              [A.tocsr(), B.tocsr()], dtype=np.float32
          ).indices.dtype,
          np.int32,
      )
      assert_equal(
          construct.vstack(
              [A.tocsr(), B.tocsr()], dtype=np.float32
          ).indptr.dtype,
          np.int32,
      )
  
imports: from __future__ import division, print_function, absolute_import
  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.sparse import csr_matrix, coo_matrix, construct
  from scipy.sparse.construct import rand
  from scipy.sparse.sputils import matrix
label_desc: Use image node_id 15 for calling the TestConstructUtils obj's underlying member method code with example usage: obj.test_vstack() without return types