class_docstr: Sanity tests for Slateq algorithm.
docstr: Test whether SlateQ can be built with both frameworks.
docstr_tok: ["Test","whether","SlateQ","can","be","built","with","both","frameworks","."]
code: def test_slateq_compilation(self):
      """Test whether SlateQ can be built with both frameworks."""
      config = (
          slateq.SlateQConfig()
          .environment(env=InterestEvolutionRecSimEnv)
          .training(num_steps_sampled_before_learning_starts=1000)
      )
  
      num_iterations = 1
  
      for _ in framework_iterator(config, with_eager_tracing=True):
          algo = config.build()
          for i in range(num_iterations):
              results = algo.train()
              check_train_results(results)
              print(results)
          check_compute_single_action(algo)
          algo.stop()
  
file_path: ray/rllib_contrib/slate_q/tests/test_slate_q.py
imports: import unittest
  import rllib_slate_q.slate_q.slateq
  from rllib_slate_q.env.recommender_system_envs_with_recsim import InterestEvolutionRecSimEnv
  import ray
  from ray.rllib.utils.test_utils import check_compute_single_action, check_train_results, framework_iterator
label_desc: Use image node_id 3 for calling the TestSlateQ obj's underlying member method code with example usage: obj.test_slateq_compilation() without return types