code: def testUnwrapSimpleChannelPlaceholderRejectsMultiChannel(self):
      str1 = channel.Channel(type=standard_artifacts.String)
      str2 = channel.Channel(type=standard_artifacts.String)
      with self.assertRaisesRegex(
          ValueError, ".*placeholder of shape.*"
      ):
          channel_utils.unwrap_simple_channel_placeholder(
              str1.future()[0].value + str2.future()[0].value
          )
      with self.assertRaisesRegex(
          ValueError, ".*placeholder of shape.*"
      ):
          channel_utils.unwrap_simple_channel_placeholder(
              ph.join(
                  [str1.future()[0].value, str2.future()[0].value], ","
              )
          )
  
file_path: tfx/tfx/types/channel_utils_test.py
imports: import tensorflow
  from tfx.dsl.placeholder import placeholder
  from tfx.types import artifact
  from tfx.types import channel
  from tfx.types import channel_utils
  from tfx.types import standard_artifacts
label_desc: Use image node_id 8 for calling the ChannelUtilsTest obj's underlying member method code with example usage: obj.testUnwrapSimpleChannelPlaceholderRejectsMultiChannel() without return types