code: def test_property_to_and_from_dict(data_type):
      prop = Property("data", data_type, True)
      assert prop.to_dict() == {
          "data": {"type": data_type.name, "required": True}
      }
      assert (
          Property.from_json_dict(
              **json.loads(json.dumps(prop.to_dict()))
          )
          == prop
      )
  
      # test array
      prop = Property("arr", Array(data_type), False)
      assert prop.to_dict() == {
          "arr": {
              "type": "array",
              "items": {"type": data_type.name},
              "required": False,
          },
      }
      assert (
          Property.from_json_dict(
              **json.loads(json.dumps(prop.to_dict()))
          )
          == prop
      )
  
      # test object
      prop = Property("data", Object([Property("p", data_type)]))
      assert prop.to_dict() == {
          "data": {
              "type": "object",
              "properties": {
                  "p": {"type": data_type.name, "required": True}
              },
              "required": True,
          },
      }
      assert (
          Property.from_json_dict(
              **json.loads(json.dumps(prop.to_dict()))
          )
          == prop
      )
  
imports: import datetime
  import json
  import math
  import re
  import numpy
  import pandas
  import pyspark
  import pyspark.sql.types
  import pytest
  from scipy.sparse import csc_matrix, csr_matrix
  from mlflow.exceptions import MlflowException
  from mlflow.models.utils import _enforce_tensor_spec
  from mlflow.pyfunc import _parse_spark_datatype
  from mlflow.types import DataType
  from mlflow.types.schema import Array, ColSpec, Object, ParamSchema, ParamSpec, Property, Schema, TensorSpec
  from mlflow.types.utils import _get_tensor_shape, _infer_colspec_type, _infer_param_schema, _infer_schema, _validate_input_dictionary_contains_only_strings_and_lists_of_strings
label_desc: Use image node_id 35 for calling a global function with example usage: test_property_to_and_from_dict(data_type) without return types