code: def test_get_gather_indices(self):
      gi = get_gather_indices(
          X=tf.constant(
              [[0, 1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12, -1]]
          ),
          sequence_lengths=tf.constant([7, 6]),
          start=tf.constant(
              [[0, 1, 0, 1, 0, 1, 0], [0, 1, 2, 0, 1, 2, -1]]
          ),
          end=tf.constant(
              [[0, 2, 0, 2, 0, 2, 0], [0, 1, 2, 0, 1, 2, -1]]
          ),
          other_end=tf.constant(
              [[0, 2, 0, 2, 0, 2, 0], [0, 1, 2, 0, 1, 2, -1]]
          ),
          chunk_tables=False,
      )
      assert tf.reduce_all(
          gi["seq_lens"]
          == tf.constant([6, 4, 5, 4, 5, 4], dtype=tf.int64)
      )
      assert tf.reduce_all(
          gi["values"]
          == tf.constant(
              [
                  [[0, 8], [0, 0], [0, 2], [0, 4], [0, 6], [0, 7]],
                  [[0, 8], [1, 0], [1, 3], [0, 7], [0, 9], [0, 9]],
                  [[0, 8], [0, 1], [0, 3], [0, 5], [0, 7], [0, 9]],
                  [[0, 8], [1, 1], [1, 4], [0, 7], [0, 9], [0, 9]],
                  [[0, 8], [0, 1], [0, 3], [0, 5], [0, 7], [0, 9]],
                  [[0, 8], [1, 2], [1, 5], [0, 7], [0, 9], [0, 9]],
              ],
              dtype=gi["values"].dtype,
          )
      )
  
imports: import os
  import unittest
  from finetune import SequenceLabeler
  from finetune.base_models import TableRoBERTa
  from finetune.base_models.bert.table_utils import batch_packing, get_gather_indices, slice_by_table_indices, gather_col_vals, scatter_feats, get_summary_values, chunk_ragged_tensor
  import tensorflow
label_desc: Use image node_id 2 for calling the TestTableUtils obj's underlying member method code with example usage: obj.test_get_gather_indices() without return types