code: def testStringSplitEmptyToken(self):
      strings = [
          "",
          " a",
          "b ",
          " c",
          " ",
          " d ",
          "  e",
          "f  ",
          "  g  ",
          "  ",
      ]
  
      with self.cached_session():
          tokens = string_ops.string_split(strings)
          indices, values, shape = self.evaluate(tokens)
          self.assertAllEqual(
              indices,
              [[1, 0], [2, 0], [3, 0], [5, 0], [6, 0], [7, 0], [8, 0]],
          )
          self.assertAllEqual(
              values, [b"a", b"b", b"c", b"d", b"e", b"f", b"g"]
          )
          self.assertAllEqual(shape, [10, 1])
  
imports: from absl.testing import parameterized
  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 sparse_tensor
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import string_ops
  from tensorflow.python.ops.ragged import ragged_factory_ops
  from tensorflow.python.ops.ragged import ragged_string_ops
  from tensorflow.python.platform import test
  from tensorflow.python.util import compat
label_desc: Use image node_id 3 for calling the StringSplitOpTest obj's underlying member method code with example usage: obj.testStringSplitEmptyToken() without return types