code: def test_edge_case():
      # When converting between the two-step APIs this is not possible in a single case
      #   terminated=True and truncated=True -> done=True and info={}
      # We cannot test this in test_to_terminated_truncated_step_api as the roundtripping test will fail
      _, _, done, info = convert_to_done_step_api(
          (0, 0, True, True, {})
      )
      assert done is True
      assert info == {"TimeLimit.truncated": False}
  
      # Test with vector dict info
      _, _, done, info = convert_to_done_step_api(
          (0, 0, np.array([True]), np.array([True]), {}),
          is_vector_env=True,
      )
      assert np.all(done)
      assert info == {"TimeLimit.truncated": np.array([False])}
  
      # Test with vector list info
      _, _, done, info = convert_to_done_step_api(
          (
              0,
              0,
              np.array([True]),
              np.array([True]),
              [{"Test-Info": True}],
          ),
          is_vector_env=True,
      )
      assert np.all(done)
      assert info == [{"Test-Info": True, "TimeLimit.truncated": False}]
  
imports: import numpy
  import pytest
  from gym.utils.env_checker import data_equivalence
  from gym.utils.step_api_compatibility import convert_to_done_step_api, convert_to_terminated_truncated_step_api
label_desc: Use image node_id 3 for calling a global function with example usage: test_edge_case() without return types