code: def test_model_signature_with_colspec_and_tensorspec():
      signature1 = ModelSignature(
          inputs=Schema([ColSpec(DataType.double)])
      )
      signature2 = ModelSignature(
          inputs=Schema([TensorSpec(np.dtype("float"), (-1, 28, 28))])
      )
      assert signature1 != signature2
      assert signature2 != signature1
  
      signature3 = ModelSignature(
          inputs=Schema([ColSpec(DataType.double)]),
          outputs=Schema([TensorSpec(np.dtype("float"), (-1, 28, 28))]),
      )
      signature4 = ModelSignature(
          inputs=Schema([ColSpec(DataType.double)]),
          outputs=Schema([ColSpec(DataType.double)]),
      )
      assert signature3 != signature4
      assert signature4 != signature3
  
imports: import json
  import numpy
  import pandas
  import pyspark
  import pytest
  from sklearn.ensemble import RandomForestRegressor
  import mlflow
  from mlflow.exceptions import MlflowException
  from mlflow.models import Model, ModelSignature, infer_signature, set_signature
  from mlflow.models.model import get_model_info
  from mlflow.types import DataType
  from mlflow.types.schema import Array, ColSpec, ParamSchema, ParamSpec, Schema, TensorSpec
label_desc: Use image node_id 3 for calling a global function with example usage: test_model_signature_with_colspec_and_tensorspec() without return types