def test_default_input_dtype(self, int32_input_model, int32_two_input_model):
        """
        If ``dtype`` is not specified, it defaults to the ``dtype`` of the
              inputs in the TF model.
        """
        # Case 1: Single input model with no dtype specified
        mlmodel = ct.convert(
            int32_input_model,
            inputs=[ct.TensorType(shape=(10, 20))],
            minimum_deployment_target=ct.target.macOS13,
        )
        assert_input_dtype(mlmodel, expected_type_str="int32")
        verify_prediction(mlmodel)

        # Case 2: two inputs model with dtype specified for the first input
        mlmodel = ct.convert(
            int32_two_input_model,
            inputs=[
                ct.TensorType(name="input1", shape=(10, 20), dtype=np.float16),
                ct.TensorType(name="input2", shape=(10, 20)),
            ],
            minimum_deployment_target=ct.target.macOS13,
        )
        assert_input_dtype(mlmodel, expected_type_str="fp16", index=0)
        assert_input_dtype(mlmodel, expected_type_str="int32", index=1)
        verify_prediction(mlmodel)

        # Case 3: two inputs model with dtype specified for the second input
        mlmodel = ct.convert(
            int32_two_input_model,
            inputs=[
                ct.TensorType(name="input1", shape=(10, 20)),
                ct.TensorType(name="input2", shape=(10, 20), dtype=np.float16),
            ],
            minimum_deployment_target=ct.target.macOS13,
        )
        assert_input_dtype(mlmodel, expected_type_str="int32", index=0)
        assert_input_dtype(mlmodel, expected_type_str="fp16", index=1)
        verify_prediction(mlmodel)

        # Case 4: two inputs model with no dtype specified for both inputs
        mlmodel = ct.convert(
            int32_two_input_model,
            inputs=[
                ct.TensorType(name="input1", shape=(10, 20)),
                ct.TensorType(name="input2", shape=(10, 20)),
            ],
            minimum_deployment_target=ct.target.macOS13,
        )
        assert_input_dtype(mlmodel, expected_type_str="int32", index=0)
        assert_input_dtype(mlmodel, expected_type_str="int32", index=1)
        verify_prediction(mlmodel)

        If ``dtype`` is not specified, it defaults to the ``dtype`` of the
              inputs in the TF model.
        
coremltools/converters/mil/frontend/tensorflow/test/test_tf_conversion_api.py