code: def test_split_every(split_every, nkeys):
      dsk = {("a", i): i for i in range(100)}
      t1 = Tuple(dsk, list(dsk))
      c = checkpoint(t1, split_every=split_every)
      assert len(c.__dask_graph__()) == nkeys
      assert c.compute(scheduler="sync") is None
  
      t2 = wait_on(t1, split_every=split_every)
      assert len(t2.__dask_graph__()) == nkeys + 100
      assert t2.compute(scheduler="sync") == tuple(range(100))
  
      dsk3 = {"b": 1, "c": 2}
      t3 = Tuple(dsk3, list(dsk3))
      t4 = bind(t3, t1, split_every=split_every, assume_layers=False)
      assert len(t4.__dask_graph__()) == nkeys + 2
      assert t4.compute(scheduler="sync") == (1, 2)
  
imports: from __future__ import annotations
  import random
  import time
  from operator import add
  import pytest
  import dask
  import dask.bag
  from dask import delayed
  from dask.base import clone_key
  from dask.blockwise import Blockwise
  from dask.graph_manipulation import bind, checkpoint, chunks, clone, wait_on
  from dask.highlevelgraph import HighLevelGraph
  from dask.tests.test_base import Tuple
  from dask.utils_test import import_or_none
label_desc: Use image node_id 15 for calling a global function with example usage: test_split_every(split_every, nkeys) without return types