code: def test_split_3d_array_into_channels(self, input_shape):
      arr = np.random.random(input_shape)
      output = vis.split_3d_array_into_channels(arr)
      self.assertLen(output, input_shape[2])
      for i in range(input_shape[2]):
          self.assertEqual(output[i].shape, arr.shape[0:2])
          self.assertTrue((output[i] == arr[:, :, i]).all())
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import glob
  import os
  from absl.testing import absltest
  from absl.testing import parameterized
  import numpy
  from third_party.nucleus.protos import variants_pb2
  from third_party.nucleus.testing import test_utils
  from third_party.nucleus.util import vis
  from tensorflow.core.example import example_pb2
  from tensorflow.core.example import feature_pb2
label_desc: Use image node_id 2 for calling the VisTest obj's underlying member method code with example usage: obj.test_split_3d_array_into_channels(input_shape) without return types