code: def test_load_v2():
      file = tests.frontend.modules.get_test_resources_directory(
          "makeprojection/v2.pipeline"
      )
      with open(file, "r") as fd:
          data = fd.read()
  
      pipeline = cellprofiler_core.pipeline.Pipeline()
  
      def callback(caller, event):
          assert not isinstance(
              event, cellprofiler_core.pipeline.event.LoadException
          )
  
      pipeline.load(six.moves.StringIO(data))
      methods = (
          cellprofiler.modules.makeprojection.P_AVERAGE,
          cellprofiler.modules.makeprojection.P_MAXIMUM,
          cellprofiler.modules.makeprojection.P_MINIMUM,
          cellprofiler.modules.makeprojection.P_SUM,
          cellprofiler.modules.makeprojection.P_VARIANCE,
          cellprofiler.modules.makeprojection.P_POWER,
          cellprofiler.modules.makeprojection.P_BRIGHTFIELD,
      )
      assert len(pipeline.modules()) == len(methods)
      for method, module in zip(methods, pipeline.modules()):
          assert isinstance(
              module, cellprofiler.modules.makeprojection.MakeProjection
          )
          assert module.image_name == "ch02"
          assert module.projection_type == method
          assert module.projection_image_name == "ProjectionCh00Scale6"
          assert module.frequency == 6
  
imports: import numpy
  import six.moves
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  import cellprofiler.modules.makeprojection
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.workspace
  import tests.frontend.modules
label_desc: Use image node_id 1 for calling a global function with example usage: test_load_v2() without return types