code: def test_compare_schemas():
      df = alltypes_sample(size=10000)
  
      fileh = make_sample_file(df)
      fileh2 = make_sample_file(df)
      fileh3 = make_sample_file(df[df.columns[::2]])
  
      # ParquetSchema
      assert isinstance(fileh.schema, pq.ParquetSchema)
      assert fileh.schema.equals(fileh.schema)
      assert fileh.schema == fileh.schema
      assert fileh.schema.equals(fileh2.schema)
      assert fileh.schema == fileh2.schema
      assert fileh.schema != "arbitrary object"
      assert not fileh.schema.equals(fileh3.schema)
      assert fileh.schema != fileh3.schema
  
      # ColumnSchema
      assert isinstance(fileh.schema[0], pq.ColumnSchema)
      assert fileh.schema[0].equals(fileh.schema[0])
      assert fileh.schema[0] == fileh.schema[0]
      assert not fileh.schema[0].equals(fileh.schema[1])
      assert fileh.schema[0] != fileh.schema[1]
      assert fileh.schema[0] != "arbitrary object"
  
imports: import datetime
  import decimal
  from collections import OrderedDict
  import io
  import numpy
  import pytest
  import pyarrow
  from pyarrow.tests.parquet.common import _check_roundtrip, make_sample_file
  from pyarrow.fs import LocalFileSystem
  from pyarrow.tests import util
label_desc: Use image node_id 16 for calling a global function with example usage: test_compare_schemas() without return types