code: def test_len_does_not_materialize():
      a = {"x": 1}
      b = Blockwise(
          output="b",
          output_indices=tuple("ij"),
          dsk={"b": [[blockwise_token(0)]]},
          indices=(),
          numblocks={},
          new_axes={"i": (1, 1, 1), "j": (1, 1)},
      )
      assert len(b) == len(b.get_output_keys())
  
      layers = {"a": a, "b": b}
      dependencies = {"a": set(), "b": {"a"}}
      hg = HighLevelGraph(layers, dependencies)
  
      assert hg.layers["a"].is_materialized()
      assert not hg.layers["b"].is_materialized()
  
      assert len(hg) == len(a) + len(b) == 7
  
      assert not hg.layers["b"].is_materialized()
  
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 16 for calling a global function with example usage: test_len_does_not_materialize() without return types