code: def test_wrong_case_ndarray_arithmetic_matmul_ops(seed, shape):
      rng = np.random.RandomState(seed)
  
      if not shape[0]:
          a1 = rng.randn()
          n1 = nn.NdArray()
          n1.cast(np.float32)[...] = a1
          v1 = nn.Variable()
          v1.data.cast(np.float32)[...] = a1
      else:
          a1 = rng.randn(*shape[0]).astype(np.float32)
          n1 = nn.NdArray.from_numpy_array(a1)
          v1 = nn.Variable.from_numpy_array(a1)
  
      if not shape[1]:
          a2 = rng.randn()
          n2 = nn.NdArray()
          n2.cast(np.float32)[...] = a2
          v2 = nn.Variable()
          v2.data.cast(np.float32)[...] = a2
      else:
          a2 = rng.randn(*shape[1]).astype(np.float32)
          n2 = nn.NdArray.from_numpy_array(a2)
          v2 = nn.Variable.from_numpy_array(a2)
  
      with pytest.raises(AssertionError) as excinfo:
          # NdArray @ NdArray
          ans1 = n1 @ n2
  
          # NdArray @ Variable
          ans2 = n1 @ v2
  
          # Variable @ NdArray
          ans3 = v1 @ n2
  
          # Variable @ Variable
          ans4 = v1 @ v2
  
          # numpy.ndarray or float @ NdArray
          ans5 = a1 @ n1
  
          # NdArray @ numpy.ndarray or float
          ans6 = n1 @ a2
  
          # numpy.ndarray or float @ Variable
          ans7 = a1 @ v2
  
          # Variable @ numpy.ndarray or float
          ans8 = v1 @ a2
  
imports: import pytest
  import numpy
  import nnabla
  from nnabla.testing import assert_allclose
label_desc: Use image node_id 2 for calling a global function with example usage: test_wrong_case_ndarray_arithmetic_matmul_ops(seed, shape) without return types