code: def test_get_measurement_columns():
      """Test the get_measurement_columns method"""
      x = (
          cellprofiler.modules.identifyprimaryobjects.IdentifyPrimaryObjects()
      )
      oname = "my_object"
      x.y_name.value = oname
      x.x_name.value = "my_image"
      x.use_advanced.value = True
      columns = x.get_measurement_columns(None)
      expected_columns = [
          ("Image", format % oname, coltype)
          for format, coltype in (
              (
                  FF_COUNT,
                  COLTYPE_INTEGER,
              ),
              (
                  FF_FINAL_THRESHOLD,
                  COLTYPE_FLOAT,
              ),
              (
                  FF_ORIG_THRESHOLD,
                  COLTYPE_FLOAT,
              ),
              (
                  FF_WEIGHTED_VARIANCE,
                  COLTYPE_FLOAT,
              ),
              (
                  FF_SUM_OF_ENTROPIES,
                  COLTYPE_FLOAT,
              ),
          )
      ]
      expected_columns += [
          (oname, feature, COLTYPE_FLOAT)
          for feature in (
              M_LOCATION_CENTER_X,
              M_LOCATION_CENTER_Y,
              M_LOCATION_CENTER_Z,
          )
      ]
      expected_columns += [
          (
              oname,
              M_NUMBER_OBJECT_NUMBER,
              COLTYPE_INTEGER,
          )
      ]
      assert len(columns) == len(expected_columns)
      for column in columns:
          assert any(
              all(
                  [
                      colval == exval
                      for colval, exval in zip(column, expected)
                  ]
              )
              for expected in expected_columns
          )
  
imports: import io
  import os
  import centrosome.threshold
  import numpy
  import pytest
  import scipy.ndimage
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  from cellprofiler_core.constants.measurement import FF_COUNT, COLTYPE_INTEGER, FF_FINAL_THRESHOLD, COLTYPE_FLOAT, FF_ORIG_THRESHOLD, M_NUMBER_OBJECT_NUMBER, M_LOCATION_CENTER_X, M_LOCATION_CENTER_Y, M_LOCATION_CENTER_Z, FF_SUM_OF_ENTROPIES, FF_WEIGHTED_VARIANCE
  from cellprofiler_core.constants.module._identify import TS_GLOBAL, TS_ADAPTIVE, O_TWO_CLASS, O_FOREGROUND, O_THREE_CLASS, O_BACKGROUND, RB_MODE, RB_SD, RB_MEAN, RB_MEDIAN, RB_MAD, TS_MANUAL, TS_MEASUREMENT
  from cellprofiler_core.image import VanillaImage
  import cellprofiler.modules.identifyprimaryobjects
  import cellprofiler.modules.threshold
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.setting
  import cellprofiler_core.workspace
  import tests.frontend
  import tests.frontend.modules
label_desc: Use image node_id 31 for calling a global function with example usage: test_get_measurement_columns() without return types