code: def test_observation_only_conversion():
      env = _build_env()
      obs_dict, act_dict = env.get_observation_and_action_dicts(
          maze_state=1, maze_action=None, first_step_in_episode=True
      )
  
      # No wrapper in the env stack is multi-step => all of them should support state-only conversion.
      # The expected output of action dict should be the same as when converting both maze_state and maze_action
      # (see above).
      assert act_dict is None
      assert obs_dict == {0: {"observation": 3}}
  
imports: from typing import Any
  import gym
  from maze.core.wrappers.log_stats_wrapper import LogStatsWrapper
  from maze.core.wrappers.time_limit_wrapper import TimeLimitWrapper
  from maze.core.wrappers.trajectory_recording_wrapper import TrajectoryRecordingWrapper
  from maze.core.wrappers.wrapper import ObservationWrapper, ActionWrapper, RewardWrapper
  from maze.test.shared_test_utils.dummy_env.dummy_core_env import DummyCoreEnvironment
  from maze.test.shared_test_utils.dummy_env.dummy_maze_env import DummyEnvironment
  from maze.test.shared_test_utils.dummy_env.space_interfaces.action_conversion.double import DoubleActionConversion
  from maze.test.shared_test_utils.dummy_env.space_interfaces.observation_conversion.double import DoubleObservationConversion
label_desc: Use image node_id 3 for calling a global function with example usage: test_observation_only_conversion() without return types