docstr: Tests a scenario where two models without overlapping names are merged by
  connecting some outputs from the first model to some inputs in the second.
  The remaining inputs/outputs should be present in the combined model
code: def test_case_connect_partially_no_name_collision(self) -> None:
      """Tests a scenario where two models without overlapping names are merged by
      connecting some outputs from the first model to some inputs in the second.
      The remaining inputs/outputs should be present in the combined model
      """
  
      def check_expectations(
          g1: GraphProto, g2: GraphProto, g4: GraphProto
      ) -> None:
          del g1, g2  # Unused
  
          # B20 <-> B21 not connected. They should still be present
          # in the inputs and outputs of the combined graph
          self.assertEqual(
              ["A0", "A1", "_A", "B21"],
              [elem.name for elem in g4.input],
          )
          self.assertEqual(
              ["B20", "D0"], [elem.name for elem in g4.output]
          )
  
      io_map = [("B00", "B01"), ("B10", "B11")]
      self._test_merge_models(
          M1_DEF, M2_DEF, io_map, check_expectations
      )
  
imports: import unittest
  from typing import Callable, List, Optional, Sequence, Tuple
  import numpy
  from onnx import FunctionProto, GraphProto, ModelProto, NodeProto, SparseTensorProto, TensorProto, ValueInfoProto, checker, compose, helper, parser, version_converter
label_desc: Use image node_id 8 for calling the TestComposeFunctions obj's underlying member method code with example usage: obj.test_case_connect_partially_no_name_collision() without return types