code: def testShapeFunctionEdgeCases(self):
      # split_dim greater than rank of input.
      with self.assertRaises(ValueError):
          array_ops.split(
              value=[[0, 1], [2, 3]], num_or_size_splits=4, axis=2
          )
  
      # split dim less than -(rank of input)
      with self.assertRaises(ValueError):
          array_ops.split(
              value=[[0, 1], [2, 3]], num_or_size_splits=4, axis=-3
          )
  
      # num_split does not evenly divide the size in split_dim.
      with self.assertRaisesRegex(ValueError, "should evenly divide"):
          array_ops.split(
              value=[0, 1, 2, 3], num_or_size_splits=3, axis=0
          )
  
      # Unknown split_dim.
      splits = array_ops.split(
          value=[[0, 1, 2, 3]],
          num_or_size_splits=4,
          axis=array_ops.placeholder(dtypes.int32),
      )
      for s in splits:
          self.assertEqual([None, None], s.get_shape().as_list())
  
      # Unknown split_dim and input shape.
      splits = array_ops.split(
          value=array_ops.placeholder(dtypes.float32),
          num_or_size_splits=4,
          axis=array_ops.placeholder(dtypes.int32),
      )
      for s in splits:
          self.assertEqual(None, s.get_shape().ndims)
  
imports: import numpy
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 24 for calling the SplitOpTest obj's underlying member method code with example usage: obj.testShapeFunctionEdgeCases() without return types