docstr: Tests RLlib's default SingleAgentRLModuleSpec.
docstr_tok: ["Tests","RLlib","'s","default","SingleAgentRLModuleSpec","."]
code: def test_single_agent_spec(self):
      """Tests RLlib's default SingleAgentRLModuleSpec."""
      env = gym.make("CartPole-v1")
      for module_class in MODULES:
          spec = SingleAgentRLModuleSpec(
              module_class=module_class,
              observation_space=env.observation_space,
              action_space=env.action_space,
              model_config_dict={"fcnet_hiddens": [64]},
          )
  
          module = spec.build()
          self.assertIsInstance(module, module_class)
  
file_path: ray/python/ray/rllib/core/rl_module/tests/test_rl_module_specs.py
imports: import unittest
  import gymnasium
  import torch
  from ray.rllib.core.rl_module.rl_module import SingleAgentRLModuleSpec
  from ray.rllib.core.rl_module.marl_module import MultiAgentRLModule, MultiAgentRLModuleSpec
  from ray.rllib.core.testing.torch.bc_module import DiscreteBCTorchModule, BCTorchRLModuleWithSharedGlobalEncoder, BCTorchMultiAgentModuleWithSharedEncoder
  from ray.rllib.core.testing.tf.bc_module import DiscreteBCTFModule, BCTfRLModuleWithSharedGlobalEncoder, BCTfMultiAgentModuleWithSharedEncoder
label_desc: Use image node_id 1 for calling the TestRLModuleSpecs obj's underlying member method code with example usage: obj.test_single_agent_spec() without return types