code: def test_dynamic_max_len(self):
      eps_ids = [5, 2, 2]
      agent_ids = [2, 2, 2]
      f = [[1, 1, 1]]
      s = [[1, 1, 1]]
      f_pad, s_init, seq_lens = chop_into_sequences(
          episode_ids=eps_ids,
          unroll_ids=np.ones_like(eps_ids),
          agent_indices=agent_ids,
          feature_columns=f,
          state_columns=s,
          max_seq_len=4,
      )
      self.assertEqual([f.tolist() for f in f_pad], [[1, 0, 1, 1]])
      self.assertEqual([s.tolist() for s in s_init], [[1, 1]])
      self.assertEqual(seq_lens.tolist(), [1, 2])
  
imports: import numpy
  import pickle
  import unittest
  import ray
  from ray.rllib.algorithms.ppo import PPOConfig
  from ray.rllib.examples.env.debug_counter_env import DebugCounterEnv
  from ray.rllib.examples.models.rnn_spy_model import RNNSpyModel
  from ray.rllib.models import ModelCatalog
  from ray.rllib.policy.rnn_sequencing import chop_into_sequences
  from ray.rllib.policy.sample_batch import SampleBatch
  from ray.rllib.utils.test_utils import check
  from ray.tune.registry import register_env
label_desc: Use image node_id 6 for calling the TestLSTMUtils obj's underlying member method code with example usage: obj.test_dynamic_max_len() without return types