code: def test_split_line_with_multiline(self):
      # crosses at one point --> return 2 segments
      splitter = MultiLineString([[(0, 1), (1, 0)], [(0, 0), (2, -2)]])
      self.helper(self.ls, splitter, 2)
  
      # crosses at two points --> return 3 segments
      splitter = MultiLineString([[(0, 1), (1, 0)], [(0, 2), (2, 0)]])
      self.helper(self.ls, splitter, 3)
  
      # crosses at three points --> return 4 segments
      splitter = MultiLineString(
          [[(0, 1), (1, 0)], [(0, 2), (2, 0), (2.2, 3.2)]]
      )
      self.helper(self.ls, splitter, 4)
  
      # overlaps --> raise
      splitter = MultiLineString(
          [[(0, 0), (1.5, 1.5)], [(1.5, 1.5), (3, 4)]]
      )
      with pytest.raises(ValueError):
          self.helper(self.ls, splitter, 1)
  
      # does not cross --> return equal
      splitter = MultiLineString([[(0, 1), (0, 2)], [(1, 0), (2, 0)]])
      self.helper(self.ls, splitter, 1)
  
imports: import unittest
  import pytest
  from shapely.errors import GeometryTypeError
  from shapely.geometry import LineString, MultiLineString, MultiPoint, MultiPolygon, Point, Polygon
  from shapely.ops import linemerge, split, unary_union
label_desc: Use image node_id 4 for calling the TestSplitLine obj's underlying member method code with example usage: obj.test_split_line_with_multiline() without return types