code: def test_similar_to():
      in_cs = CoordinateSystem("ijk", "in", np.float32)
      in_cs2 = CoordinateSystem("ijk", "another name", np.float32)
      out_cs = CoordinateSystem("xyz", "out", np.float32)
      out_cs2 = CoordinateSystem("xyz", "again another", np.float32)
      for klass, arg0, arg1 in (
          (CoordinateMap, lambda x: x + 1, lambda x: x + 2),
          (AffineTransform, np.eye(4), np.diag([1, 2, 3, 1])),
      ):
          c0 = klass(in_cs, out_cs, arg0)
          c1 = klass(in_cs, out_cs, arg0)
          assert c0.similar_to(c1)
          c1b = klass(in_cs, out_cs, arg1)
          assert not c0.similar_to(c1b)
          c2 = klass(in_cs2, out_cs, arg0)
          assert c0.similar_to(c2)
          c3 = klass(in_cs, out_cs2, arg0)
          assert c0.similar_to(c3)
  
imports: from copy import copy
  from types import SimpleNamespace
  import numpy
  from ..coordinate_map import AffineTransform, AxisError, CoordinateMap, CoordMapMaker, CoordMapMakerError, _as_coordinate_map, _fix0, append_io_dim, axmap, compose, drop_io_dim, equivalent, input_axis_index, io_axis_indices, orth_axes, product, shifted_domain_origin, shifted_range_origin
  from ..coordinate_system import CoordinateSystem, CoordinateSystemError, CoordSysMaker
  import pytest
  from numpy.testing import assert_almost_equal, assert_array_equal
label_desc: Use image node_id 8 for calling a global function with example usage: test_similar_to() without return types