code: def test_order(dvc):
      stage = create_stage(
          PipelineStage,
          dvc,
          deps=["input"],
          outs=["output"],
          params=["foo-param"],
          **kwargs,
      )
      params, deps = split_params_deps(stage)
  
      deps[0].hash_info = HashInfo("md5", "md-five")
      params[0].hash_info = HashInfo("params", {"foo-param": "value"})
      stage.outs[0].hash_info = HashInfo("md5", "md5-output")
  
      assert to_single_stage_lockfile(stage) == OrderedDict(
          [
              ("cmd", "command"),
              (
                  "deps",
                  [{"hash": "md5", "path": "input", "md5": "md-five"}],
              ),
              ("params", {"params.yaml": {"foo-param": "value"}}),
              (
                  "outs",
                  [
                      {
                          "hash": "md5",
                          "path": "output",
                          "md5": "md5-output",
                      }
                  ],
              ),
          ]
      )
  
imports: from collections import OrderedDict
  import pytest
  from voluptuous import Schema
  from dvc.dvcfile import PROJECT_FILE
  from dvc.schema import LOCK_FILE_STAGE_SCHEMA, LOCKFILE_STAGES_SCHEMA
  from dvc.stage import PipelineStage, create_stage
  from dvc.stage.serialize import DEFAULT_PARAMS_FILE, to_lockfile
  from dvc.stage.serialize import to_single_stage_lockfile
  from dvc.stage.utils import split_params_deps
  from dvc_data.hashfile.hash_info import HashInfo
label_desc: Use image node_id 13 for calling a global function with example usage: test_order(dvc) without return types