code: def test_convex_hull():
      p = [
          Point(-5, -1),
          Point(-2, 1),
          Point(-2, -1),
          Point(-1, -3),
          Point(0, 0),
          Point(1, 1),
          Point(2, 2),
          Point(2, -1),
          Point(3, 1),
          Point(4, -1),
          Point(6, 2),
      ]
      ch = Polygon(p[0], p[3], p[9], p[10], p[6], p[1])
      # test handling of duplicate points
      p.append(p[3])
  
      # more than 3 collinear points
      another_p = [
          Point(-45, -85),
          Point(-45, 85),
          Point(-45, 26),
          Point(-45, -24),
      ]
      ch2 = Segment(another_p[0], another_p[1])
  
      assert convex_hull(*another_p) == ch2
      assert convex_hull(*p) == ch
      assert convex_hull(p[0]) == p[0]
      assert convex_hull(p[0], p[1]) == Segment(p[0], p[1])
  
      # no unique points
      assert convex_hull(*[p[-1]] * 3) == p[-1]
  
      # collection of items
      assert convex_hull(
          *[
              Point(0, 0),
              Segment(Point(1, 0), Point(1, 1)),
              RegularPolygon(Point(2, 0), 2, 4),
          ]
      ) == Polygon(Point(0, 0), Point(2, -2), Point(4, 0), Point(2, 2))
  
imports: from sympy.core.numbers import Float, Rational, oo, pi
  from sympy.core.singleton import S
  from sympy.core.symbol import Symbol, symbols
  from sympy.functions.elementary.complexes import Abs
  from sympy.functions.elementary.miscellaneous import sqrt
  from sympy.functions.elementary.trigonometric import acos, cos, sin
  from sympy.functions.elementary.trigonometric import tan
  from sympy.geometry import Circle, Ellipse, GeometryError, Point, Point2D, Polygon, Ray, RegularPolygon, Segment, Triangle, are_similar, convex_hull, intersection, Line, Ray2D
  from sympy.testing.pytest import raises, slow, warns
  from sympy.core.random import verify_numerically
  from sympy.geometry.polygon import rad, deg
  from sympy.integrals.integrals import integrate
  from sympy.utilities.iterables import rotate_left
label_desc: Use image node_id 3 for calling a global function with example usage: test_convex_hull() without return types