code: def test_expand_dims(operand_shape, axis, device_id, precision):
      if axis is None or isinstance(axis, tuple):
          return
      operand = (
          np.arange(np.prod(operand_shape))
          .reshape(operand_shape)
          .astype("f")
      )
      expected = np.expand_dims(operand, axis)
  
      expected_forward = [expected]
      expected_backward = {
          "arg": [np.ones_like(operand)],
      }
  
      from .. import expand_dims, placeholder
  
      p = C.placeholder()
      expand_dims_with_axis = C.expand_dims(p, axis)
      _test_unary_op(
          precision,
          device_id,
          expand_dims_with_axis,
          operand,
          expected_forward,
          expected_backward,
      )
  
imports: from __future__ import division
  import numpy
  import cntk
  import pytest
  from .ops_test_utils import unittest_helper, _test_unary_op, _test_binary_op, AA, precision, PRECISION_TO_TYPE, cntk_device
  import cntk
  from cntk import Value
  from cntk.axis import Axis
  from cntk.internal import sanitize_dtype_cntk
  from ..None import constant
label_desc: Use image node_id 26 for calling a global function with example usage: test_expand_dims(operand_shape, axis, device_id, precision) without return types