code: def test_find_line_box_crossings():
      x = np.array([-3, -2, -1, 0.0, 1, 2, 3, 2, 1, 0, -1, -2, -3, 5])
      y = np.arange(len(x))
      bbox = Bbox.from_extents(-2, 3, 2, 12.5)
      left, right, bottom, top = _find_line_box_crossings(
          np.column_stack([x, y]), bbox
      )
      (
          ((lx0, ly0), la0),
          ((lx1, ly1), la1),
      ) = left
      (
          ((rx0, ry0), ra0),
          ((rx1, ry1), ra1),
      ) = right
      (((bx0, by0), ba0),) = bottom
      (((tx0, ty0), ta0),) = top
      assert (lx0, ly0, la0) == (-2, 11, 135)
      assert (lx1, ly1, la1) == pytest.approx((-2.0, 12.125, 7.125016))
      assert (rx0, ry0, ra0) == (2, 5, 45)
      assert (rx1, ry1, ra1) == (2, 7, 135)
      assert (bx0, by0, ba0) == (0, 3, 45)
      assert (tx0, ty0, ta0) == pytest.approx((1.0, 12.5, 7.125016))
  
imports: import numpy
  import pytest
  from matplotlib.transforms import Bbox
  from mpl_toolkits.axisartist.grid_finder import _find_line_box_crossings, FormatterPrettyPrint, MaxNLocator
label_desc: Use image node_id 1 for calling a global function with example usage: test_find_line_box_crossings() without return types