code: def test_copy():
      h1 = HighLevelGraph(
          {"a": {"a": "b"}, "b": {"b": 1}},
          {"a": {"b"}, "b": set()},
      )
      h1.get_all_dependencies()
      assert h1.key_dependencies
      h2 = h1.copy()
      for k in ("layers", "dependencies", "key_dependencies"):
          v1 = getattr(h1, k)
          v2 = getattr(h2, k)
          assert v1 is not v2
          assert v1 == v2
  
imports: from __future__ import annotations
  import os
  import threading
  import xml.etree.ElementTree
  from collections.abc import Set
  from concurrent.futures import ThreadPoolExecutor
  import pytest
  import dask
  from dask.blockwise import Blockwise, blockwise_token
  from dask.highlevelgraph import HighLevelGraph, Layer, MaterializedLayer, to_graphviz
  from dask.utils_test import inc
label_desc: Use image node_id 5 for calling a global function with example usage: test_copy() without return types