code: def test_flatten(self):
      from parlai.mutators.flatten import FlattenMutator
  
      ex1, ex2, ex3, ex4 = self._apply_mutator(FlattenMutator)
  
      # check episode done is always set correctly
      assert ex1["episode_done"]
      assert ex2["episode_done"]
      assert ex3["episode_done"]
      assert ex4["episode_done"]
  
      # check there was a mutation
      assert ex1["text"] == "\n".join(e["text"] for e in [EXAMPLE1])
      assert ex2["text"] == "\n".join(
          [EXAMPLE1["text"], EXAMPLE1["labels"][0], EXAMPLE2["text"]]
      )
      assert ex3["text"] == "\n".join(e["text"] for e in [EXAMPLE3])
      assert ex4["text"] == "\n".join(
          [EXAMPLE3["text"], EXAMPLE3["labels"][0], EXAMPLE4["text"]]
      )
  
imports: import unittest
  from parlai.core.params import ParlaiParser
  from parlai.core.opt import Opt
  from parlai.core.teachers import create_task_agent_from_taskname
  from parlai.core.message import Message
label_desc: Use image node_id 10 for calling the TestSpecificMutators obj's underlying member method code with example usage: obj.test_flatten() without return types