code: def test_measurement_columns():
      """Test get_measurement_columns"""
      workspace, module = make_workspace(numpy.zeros((20, 10), bool))
      assert isinstance(
          module,
          cellprofiler.modules.identifydeadworms.IdentifyDeadWorms,
      )
      columns = module.get_measurement_columns(workspace.pipeline)
      expected = (
          (
              OBJECTS_NAME,
              M_LOCATION_CENTER_X,
              COLTYPE_INTEGER,
          ),
          (
              OBJECTS_NAME,
              M_LOCATION_CENTER_Y,
              COLTYPE_INTEGER,
          ),
          (
              OBJECTS_NAME,
              cellprofiler.modules.identifydeadworms.M_ANGLE,
              COLTYPE_FLOAT,
          ),
          (
              OBJECTS_NAME,
              M_NUMBER_OBJECT_NUMBER,
              COLTYPE_INTEGER,
          ),
          (
              "Image",
              FF_COUNT % OBJECTS_NAME,
              COLTYPE_INTEGER,
          ),
      )
      assert len(columns) == len(expected)
      for e in expected:
          assert any(
              all([x == y for x, y in zip(c, e)]) for c in columns
          ), "could not find " + repr(e)
  
imports: import centrosome.cpmorphology
  import numpy
  import scipy.ndimage
  import six.moves
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  import cellprofiler_core.measurement
  from cellprofiler_core.constants.measurement import C_COUNT, M_LOCATION_CENTER_X, M_LOCATION_CENTER_Y, COLTYPE_INTEGER, COLTYPE_FLOAT, M_NUMBER_OBJECT_NUMBER, FF_COUNT
  import cellprofiler.modules.identifydeadworms
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.workspace
label_desc: Use image node_id 7 for calling a global function with example usage: test_measurement_columns() without return types