code: def test_fill_from_lock_dos2unix(dvc):
      lock_data = {
          "cmd": "command",
          "deps": [{"path": "foo", "md5": "foo_checksum"}],
          "outs": [{"path": "bar", "md5": "bar_checksum"}],
      }
      stage = create_stage(
          PipelineStage, dvc, PROJECT_FILE, deps=["foo"], outs=["bar"]
      )
  
      for item in chain(stage.deps, stage.outs):
          assert not item.hash_info
  
      StageLoader.fill_from_lock(stage, lock_data)
  
      assert stage.deps[0].hash_info == HashInfo(
          "md5-dos2unix", "foo_checksum"
      )
      assert stage.outs[0].hash_info == HashInfo(
          "md5-dos2unix", "bar_checksum"
      )
  
imports: import os
  from copy import deepcopy
  from itertools import chain
  import pytest
  from dvc.dvcfile import PROJECT_FILE, load_file
  from dvc.stage import PipelineStage, create_stage
  from dvc.stage.loader import StageLoader
  from dvc.stage.serialize import split_params_deps
  from dvc_data.hashfile.hash_info import HashInfo
label_desc: Use image node_id 20 for calling a global function with example usage: test_fill_from_lock_dos2unix(dvc) without return types