code: def test_lm_token_preprocessing(self):
      ds = _test_dataset_ints([1, 2, 3], [3, 2, 1])
      ds1 = tf_inputs.lm_token_preprocessing(ds, True)
  
      # pylint: disable=bad-whitespace
      expected_ds = [
          {
              "inputs": np.array([1, 0, 1, 1, 1], dtype=np.int64),
              "targets": np.array([1, 0, 1, 1, 1], dtype=np.int64),
              "mask": np.array([0, 0, 1, 1, 1], dtype=np.int64),
          },
          {
              "inputs": np.array([1, 1, 0, 1, 1], dtype=np.int64),
              "targets": np.array([1, 1, 0, 1, 1], dtype=np.int64),
              "mask": np.array([0, 0, 0, 1, 1], dtype=np.int64),
          },
          {
              "inputs": np.array([1, 1, 1, 0, 1], dtype=np.int64),
              "targets": np.array([1, 1, 1, 0, 1], dtype=np.int64),
              "mask": np.array([0, 0, 0, 0, 1], dtype=np.int64),
          },
      ]
      # pylint: enable=bad-whitespace
  
      assert_dataset(ds1, expected_ds)
  
imports: import collections
  import os
  from unittest import mock
  import gin
  import numpy
  from t5.data import assert_dataset
  from t5.data import preprocessors
  import tensorflow
  import tensorflow_datasets
  from trax.data import inputs
  from trax.data import tf_inputs
label_desc: Use image node_id 22 for calling the TFInputsTest obj's underlying member method code with example usage: obj.test_lm_token_preprocessing() without return types