code: def subtype_as_make_with_boundary(self, method, subtype, outcome):
      # Doing all variation is a bit of overkill...
      m = self.message()
      if outcome in ("", "raises"):
          m["Content-Type"] = "multipart/" + subtype
          with self.assertRaises(ValueError) as cm:
              getattr(m, "make_" + method)()
          return
      if subtype == "plain":
          m["Content-Type"] = "text/plain"
      elif subtype != "no_content":
          m["Content-Type"] = "multipart/" + subtype
      getattr(m, "make_" + method)(boundary="abc")
      self.assertTrue(m.is_multipart())
      self.assertEqual(m.get_boundary(), "abc")
  
imports: import unittest
  import textwrap
  from email import policy, message_from_string
  from email.message import EmailMessage, MIMEPart
  from test.test_email import TestEmailBase, parameterize
label_desc: Use image node_id 12 for calling the TestEmailMessageBase obj's underlying member method code with example usage: obj.subtype_as_make_with_boundary(method, subtype, outcome) without return types