code: def test_srl_eval_feeds_correct_sequence(
      self, context_lengths, horizon_lengths
  ):
      vocab_size = 10
      n_steps = 5
  
      multibonacci_modulo = make_multibonacci_modulo(2, vocab_size)
      space = gym.spaces.Discrete(n=vocab_size)
      (obs, act) = generate_trajectory(
          multibonacci_modulo, space, n_steps
      )
      eval_task = make_singleton_eval_task(obs, act)
      seq_model = functools.partial(
          tl_test_utils.MockTransformerLM,
          sequence_fn=multibonacci_modulo,
      )
      serialized_model = make_serialized_model(
          seq_model, space, vocab_size
      )
      callback = callbacks.SerializedModelEvaluation(
          loop=None,
          eval_task=eval_task,
          model=serialized_model,
          context_lengths=context_lengths,
          horizon_lengths=horizon_lengths,
          accelerate_model=False,
      )
      callback.evaluate(weights=None)
  
      expected_seq = np.zeros(2 * n_steps + 1)
      expected_seq[1::2] = obs
      expected_seq[2::2] = act
      seen_len = (context_lengths[-1] + horizon_lengths[-1]) * 2
      callback.predict_model.assert_prediction_buffers_equal(
          [expected_seq[:seen_len]]
      )
  
imports: import functools
  import io
  from unittest import mock
  from absl.testing import absltest
  from absl.testing import parameterized
  import gym
  import numpy
  from trax import models
  from trax import test_utils
  from trax.data import inputs
  from trax.layers import test_utils
  from trax.rl import serialization_utils
  from trax.rl import space_serializer
  from trax.supervised import callbacks
  from trax.supervised import lr_schedules
  from trax.supervised import trainer_lib
  from trax.supervised import training
label_desc: Use image node_id 3 for calling the CallbacksTest obj's underlying member method code with example usage: obj.test_srl_eval_feeds_correct_sequence(context_lengths, horizon_lengths) without return types