code: def testNGrams(self):
      with tf.compat.v1.Graph().as_default():
          string_tensor = tf.constant(
              ["abc", "def", "fghijklm", "z", ""]
          )
          tokenized_tensor = tf.compat.v1.string_split(
              string_tensor, delimiter=""
          )
          output_tensor = mappers.ngrams(
              tokens=tokenized_tensor, ngram_range=(1, 5), separator=""
          )
          self.assertSparseOutput(
              expected_indices=[
                  [0, 0],
                  [0, 1],
                  [0, 2],
                  [0, 3],
                  [0, 4],
                  [0, 5],
                  [1, 0],
                  [1, 1],
                  [1, 2],
                  [1, 3],
                  [1, 4],
                  [1, 5],
                  [2, 0],
                  [2, 1],
                  [2, 2],
                  [2, 3],
                  [2, 4],
                  [2, 5],
                  [2, 6],
                  [2, 7],
                  [2, 8],
                  [2, 9],
                  [2, 10],
                  [2, 11],
                  [2, 12],
                  [2, 13],
                  [2, 14],
                  [2, 15],
                  [2, 16],
                  [2, 17],
                  [2, 18],
                  [2, 19],
                  [2, 20],
                  [2, 21],
                  [2, 22],
                  [2, 23],
                  [2, 24],
                  [2, 25],
                  [2, 26],
                  [2, 27],
                  [2, 28],
                  [2, 29],
                  [3, 0],
              ],
              expected_values=[
                  b"a",
                  b"ab",
                  b"abc",
                  b"b",
                  b"bc",
                  b"c",
                  b"d",
                  b"de",
                  b"def",
                  b"e",
                  b"ef",
                  b"f",
                  b"f",
                  b"fg",
                  b"fgh",
                  b"fghi",
                  b"fghij",
                  b"g",
                  b"gh",
                  b"ghi",
                  b"ghij",
                  b"ghijk",
                  b"h",
                  b"hi",
                  b"hij",
                  b"hijk",
                  b"hijkl",
                  b"i",
                  b"ij",
                  b"ijk",
                  b"ijkl",
                  b"ijklm",
                  b"j",
                  b"jk",
                  b"jkl",
                  b"jklm",
                  b"k",
                  b"kl",
                  b"klm",
                  b"l",
                  b"lm",
                  b"m",
                  b"z",
              ],
              expected_shape=[5, 30],
              actual_sparse_tensor=output_tensor,
              close_values=False,
          )
  
imports: import numpy
  import tensorflow
  from tensorflow_transform import mappers
  from tensorflow_transform import test_case
label_desc: Use image node_id 5 for calling the MappersTest obj's underlying member method code with example usage: obj.testNGrams() without return types