class_docstr: Resuming from a foreach split should work.
  Check that data changes in all downstream steps after resume.
code: def step_join(self, inputs):
      from itertools import chain
  
      self.var = list(
          sorted(chain.from_iterable(i.var for i in inputs))
      )
      self.data = inputs[0].data
      self.after = inputs[0].after
      self.stack = inputs[0].stack
      if self.after:
          assert_equals("resume", self.data)
      else:
          assert_equals("start", self.data)
  
file_path: metaflow/test/core/tests/resume_foreach_split.py
imports: from metaflow_test import MetaflowTest, ExpectationFailed, steps
label_desc: Use image node_id 4 for calling the ResumeForeachSplitTest obj's underlying member method code with example usage: obj.step_join(inputs) without return types