code: def test_basic_inputs(self):
      A, B, C, D = self.data()
  
      expected = cupy.asarray(
          [[1, 2, 5], [3, 4, 6], [0, 0, 7]], dtype=self.dtype
      )
  
      testing.assert_array_equal(
          _construct.bmat([[A, B], [None, C]]).todense(), expected
      )
  
      expected = cupy.asarray([[1, 2, 0], [3, 4, 0], [0, 0, 7]])
      testing.assert_array_equal(
          _construct.bmat([[A, None], [None, C]]).todense(), expected
      )
  
      expected = cupy.asarray([[0, 5], [0, 6], [7, 0]])
  
      testing.assert_array_equal(
          _construct.bmat([[None, B], [C, None]]).todense(), expected
      )
  
imports: import functools
  import re
  from unittest import mock
  import numpy
  import pytest
  import cupy
  from cupy import testing
  from cupy.cuda import runtime
  from cupyx.scipy import sparse
  from cupyx.scipy.sparse import _construct
label_desc: Use image node_id 2 for calling the TestBmat obj's underlying member method code with example usage: obj.test_basic_inputs() without return types