code: def test_basic(self):
      for M in self.cases:
          A = interface.aslinearoperator(M)
          M, N = A.shape
  
          assert_equal(A.matvec(np.array([1, 2, 3])), [14, 32])
          assert_equal(
              A.matvec(np.array([[1], [2], [3]])), [[14], [32]]
          )
  
          assert_equal(A * np.array([1, 2, 3]), [14, 32])
          assert_equal(A * np.array([[1], [2], [3]]), [[14], [32]])
  
          assert_equal(A.rmatvec(np.array([1, 2])), [9, 12, 15])
          assert_equal(
              A.rmatvec(np.array([[1], [2]])), [[9], [12], [15]]
          )
          assert_equal(A.H.matvec(np.array([1, 2])), [9, 12, 15])
          assert_equal(
              A.H.matvec(np.array([[1], [2]])), [[9], [12], [15]]
          )
  
          assert_equal(
              A.matmat(np.array([[1, 4], [2, 5], [3, 6]])),
              [[14, 32], [32, 77]],
          )
  
          assert_equal(
              A * np.array([[1, 4], [2, 5], [3, 6]]),
              [[14, 32], [32, 77]],
          )
  
          if hasattr(M, "dtype"):
              assert_equal(A.dtype, M.dtype)
  
imports: from __future__ import division, print_function, absolute_import
  from functools import partial
  from itertools import product
  import operator
  import pytest
  from pytest import raises, warns
  from numpy.testing import assert_, assert_equal
  import numpy
  import scipy.sparse
  from scipy.sparse.linalg import interface
  from scipy.sparse.sputils import matrix
label_desc: Use image node_id 2 for calling the TestAsLinearOperator obj's underlying member method code with example usage: obj.test_basic() without return types