code: def test_well_row_column_before_import():
      # Regression test for issue #1347
      # WellRow and WellColumn must be united asap so they can
      # be used downstream.
      #
      module = cellprofiler_core.modules.metadata.Metadata()
      module.wants_metadata.value = True
      em = module.extraction_methods[0]
      em.filter_choice.value = (
          cellprofiler_core.constants.modules.metadata.F_ALL_IMAGES
      )
      em.extraction_method.value = (
          cellprofiler_core.constants.modules.metadata.X_MANUAL_EXTRACTION
      )
      em.source.value = (
          cellprofiler_core.constants.modules.metadata.XM_FILE_NAME
      )
      em.file_regexp.value = (
          "^Channel(?P<Wavelength>[1-2])-"
          "(?P<%s>[A-H])-"
          "(?P<%s>[0-9]{2}).tif$"
      ) % (
          cellprofiler_core.constants.measurement.FTR_ROW,
          cellprofiler_core.constants.measurement.FTR_COLUMN,
      )
      em.filter_choice.value = (
          cellprofiler_core.constants.modules.metadata.F_ALL_IMAGES
      )
      module.add_extraction_method()
      metadata_csv = """WellName,Treatment
  C05,DMSO
  """
      filenum, path = tempfile.mkstemp(suffix=".csv")
      fd = os.fdopen(filenum, "w")
      fd.write(metadata_csv)
      fd.close()
      try:
          em = module.extraction_methods[1]
          em.extraction_method.value = (
              cellprofiler_core.constants.modules.metadata.X_IMPORTED_EXTRACTION
          )
          em.filter_choice.value = (
              cellprofiler_core.constants.modules.metadata.F_ALL_IMAGES
          )
          em.extraction_method.value = (
              cellprofiler_core.constants.modules.metadata.X_IMPORTED_EXTRACTION
          )
          directory, filename = os.path.split(path)
          em.csv_location.value = "{}|{}".format(
              cellprofiler_core.preferences.ABSOLUTE_FOLDER_NAME,
              directory,
          )
          em.csv_filename.value = filename
          em.csv_joiner.value = '[{"%s":"WellName","%s":"Well"}]' % (
              module.CSV_JOIN_NAME,
              module.IPD_JOIN_NAME,
          )
          url = "file:/imaging/analysis/Channel1-C-05.tif"
          check(
              module,
              url,
              [
                  {
                      "Wavelength": "1",
                      cellprofiler_core.constants.measurement.FTR_ROW: "C",
                      cellprofiler_core.constants.measurement.FTR_COLUMN: "05",
                      "Treatment": "DMSO",
                      cellprofiler_core.constants.measurement.FTR_WELL: "C05",
                  }
              ],
          )
      except:
          os.remove(path)
  
imports: import io
  import json
  import os
  import tempfile
  import cellprofiler_core.constants.measurement
  import cellprofiler_core.constants.modules.images
  import cellprofiler_core.constants.modules.metadata
  import cellprofiler_core.measurement
  import cellprofiler_core.modules.images
  import cellprofiler_core.modules.metadata
  import cellprofiler_core.pipeline
  import cellprofiler_core.preferences
  import cellprofiler_core.setting
  import cellprofiler_core.workspace
  import tests.core
label_desc: Use image node_id 18 for calling a global function with example usage: test_well_row_column_before_import() without return types