code: def test_zeros():
      """Test cropping an image with a mask of all zeros"""
      workspace, module = make_workspace(
          numpy.zeros((10, 10)), crop_image=numpy.zeros((10, 10), bool)
      )
      module.shape.value = cellprofiler.modules.crop.SH_IMAGE
      module.remove_rows_and_columns.value = (
          cellprofiler.modules.crop.RM_NO
      )
      module.run(workspace)
      output_image = workspace.image_set.get_image(OUTPUT_IMAGE)
      assert numpy.all(output_image.pixel_data == 0)
      assert numpy.all(output_image.mask == output_image.pixel_data)
      assert numpy.all(
          output_image.crop_mask == output_image.pixel_data
      )
      m = workspace.measurements
      assert "Image" in m.get_object_names()
      columns = module.get_measurement_columns(workspace.pipeline)
      assert len(columns) == 2
      assert all([x[0] == "Image" for x in columns])
      assert all([x[2] == COLTYPE_INTEGER for x in columns])
      feature = "Crop_OriginalImageArea_%s" % OUTPUT_IMAGE
      assert feature in [x[1] for x in columns]
      assert feature in m.get_feature_names("Image")
      values = m.get_current_measurement("Image", feature)
      assert round(abs(values - 10 * 10), 7) == 0
      feature = "Crop_AreaRetainedAfterCropping_%s" % OUTPUT_IMAGE
      assert feature in [x[1] for x in columns]
      assert feature in m.get_feature_names("Image")
      values = m.get_current_measurement("Image", feature)
      assert values == 0
  
imports: import numpy
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  from cellprofiler_core.constants.measurement import GROUP_INDEX, GROUP_NUMBER, COLTYPE_INTEGER
  import cellprofiler.modules.crop
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.workspace
label_desc: Use image node_id 2 for calling a global function with example usage: test_zeros() without return types