code: def test_unhashable(tmp_dir, dvc, mocker, kwargs):
      from dvc.stage import Stage, create_stage
      from dvc.stage.cache import RunCacheNotFoundError, StageCache
  
      cache = StageCache(dvc)
      stage = create_stage(Stage, path="stage.dvc", repo=dvc, **kwargs)
      get_stage_hash = mocker.patch("dvc.stage.cache._get_stage_hash")
      assert cache.save(stage) is None
      get_stage_hash.assert_not_called()
      with pytest.raises(RunCacheNotFoundError):
          cache.restore(stage)
      get_stage_hash.assert_not_called()
  
file_path: dvc/tests/unit/stage/test_cache.py
imports: import os
  import pytest
  import dvc.output
label_desc: Use image node_id 5 for calling a global function with example usage: test_unhashable(tmp_dir, dvc, mocker, kwargs) without return types