code: def test_affine_start_step():
      incs, outcs, aff = affine_v2w()
      start = aff[:3, 3]
      step = aff.diagonal()[:3]
      cm = AffineTransform.from_start_step(
          incs.coord_names, outcs.coord_names, start, step
      )
      assert_array_equal(cm.affine, aff)
      pytest.raises(
          ValueError,
          AffineTransform.from_start_step,
          "ijk",
          "xy",
          start,
          step,
      )
  
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 22 for calling a global function with example usage: test_affine_start_step() without return types