code: def test_basic_flow_multi_output(self):
      inputs = Input(shape=(3,), batch_size=2, name="input")
      x = layers.Dense(5)(inputs)
      output_a = layers.Dense(4)(x)
      output_b = layers.Dense(5)(x)
      model = Functional(inputs, [output_a, output_b])
  
      # Eager call
      in_val = np.random.random((2, 3))
      out_val = model(in_val)
      self.assertIsInstance(out_val, list)
      self.assertEqual(len(out_val), 2)
      self.assertEqual(out_val[0].shape, (2, 4))
      self.assertEqual(out_val[1].shape, (2, 5))
  
      # Symbolic call
      out_val = model(Input(shape=(3,), batch_size=2))
      self.assertIsInstance(out_val, list)
      self.assertEqual(len(out_val), 2)
      self.assertEqual(out_val[0].shape, (2, 4))
      self.assertEqual(out_val[1].shape, (2, 5))
  
imports: import warnings
  import numpy
  import pytest
  from keras import backend
  from keras import layers
  from keras import testing
  from keras.layers.core.input_layer import Input
  from keras.layers.input_spec import InputSpec
  from keras.models import Functional
  from keras.models import Model
label_desc: Use image node_id 4 for calling the FunctionalTest obj's underlying member method code with example usage: obj.test_basic_flow_multi_output() without return types