code: def test_dataframe_cull_key_dependencies(op):
      # Test that HighLevelGraph.cull does not populate the
      # output graph with incorrect key_dependencies for
      # "complex" DataFrame Layers
      # See: https://github.com/dask/dask/pull/9267
  
      pytest.importorskip("dask.dataframe")
      datasets = pytest.importorskip("dask.datasets")
  
      result = op(datasets.timeseries(end="2000-01-15")).count()
      graph = result.dask
      culled_graph = graph.cull(result.__dask_keys__())
  
      assert (
          graph.get_all_dependencies()
          == culled_graph.get_all_dependencies()
      )
  
imports: from __future__ import annotations
  import os
  import pytest
  import sys
  from operator import getitem
  from distributed import Client, SchedulerPlugin
  from distributed.utils_test import cluster, loop
  from dask.highlevelgraph import HighLevelGraph
  from dask.layers import ArrayChunkShapeDep, ArraySliceDep, fractional_slice
label_desc: Use image node_id 15 for calling a global function with example usage: test_dataframe_cull_key_dependencies(op) without return types