code: def test_xypic_draw_diagram():
      # A linear diagram.
      A = Object("A")
      B = Object("B")
      C = Object("C")
      D = Object("D")
      E = Object("E")
  
      f = NamedMorphism(A, B, "f")
      g = NamedMorphism(B, C, "g")
      h = NamedMorphism(C, D, "h")
      i = NamedMorphism(D, E, "i")
      d = Diagram([f, g, h, i])
  
      grid = DiagramGrid(d, layout="sequential")
      drawer = XypicDiagramDrawer()
      assert drawer.draw(d, grid) == xypic_draw_diagram(
          d, layout="sequential"
      )
  
file_path: sympy/sympy/categories/tests/test_drawing.py
imports: from sympy.categories.diagram_drawing import _GrowableGrid, ArrowStringDescription
  from sympy.categories import DiagramGrid, Object, NamedMorphism, Diagram, XypicDiagramDrawer, xypic_draw_diagram
  from sympy.sets.sets import FiniteSet
label_desc: Use image node_id 9 for calling a global function with example usage: test_xypic_draw_diagram() without return types