code: def test_over():
      o = src.copy()
      o[0, 1] = 0
      np.testing.assert_equal(over(src, clear), o)
      np.testing.assert_equal(over(src, clear_white), o)
      o = np.array(
          [
              [0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF],
              [0xFFFF8282, 0xFF82FF82, 0xFF8282FF],
              [0xFFFF0000, 0xFF000000, 0xFFD2D2D2],
          ]
      )
      np.testing.assert_equal(over(src, white), o)
      o = np.array(
          [
              [0xFFFF0000, 0xFFFF0000, 0xFFFFFFFF],
              [0xFFFF0000, 0xFF827D00, 0xFF82007D],
              [0xFFFF0000, 0xFF000000, 0xFFD20D0D],
          ]
      )
      np.testing.assert_equal(over(src, blue), o)
      o = np.array(
          [
              [0x7DFF0000, 0x7DFF0000, 0xFFFFFFFF],
              [0xBCFF0000, 0xBC56A800, 0xBC5600A8],
              [0xFFFF0000, 0xFF000000, 0x9AB51616],
          ]
      )
      np.testing.assert_equal(over(src, half_blue), o)
      o = np.array(
          [
              [0x7D7D007D, 0x7D7D007D, 0xFFFFFFFF],
              [0xBCD3002A, 0xBC2AA82A, 0xBC2A00D3],
              [0xFFFF0000, 0xFF000000, 0x9A641664],
          ]
      )
      np.testing.assert_equal(over(src, half_purple), o)
  
imports: from __future__ import annotations
  import numpy
  from datashader.composite import add, saturate, over, source
label_desc: Use image node_id 2 for calling a global function with example usage: test_over() without return types