code: def test_subs():
      x = Symbol("x", real=True)
      y = Symbol("y", real=True)
      p = Point(x, 2)
      q = Point(1, 1)
      r = Point(3, 4)
      for o in [
          p,
          Segment(p, q),
          Ray(p, q),
          Line(p, q),
          Triangle(p, q, r),
          RegularPolygon(p, 3, 6),
          Polygon(p, q, r, Point(5, 4)),
          Circle(p, 3),
          Ellipse(p, 3, 4),
      ]:
          assert "y" in str(o.subs(x, y))
      assert p.subs({x: 1}) == Point(1, 2)
      assert Point(1, 2).subs(Point(1, 2), Point(3, 4)) == Point(3, 4)
      assert Point(1, 2).subs((1, 2), Point(3, 4)) == Point(3, 4)
      assert Point(1, 2).subs(Point(1, 2), Point(3, 4)) == Point(3, 4)
      assert Point(1, 2).subs({(1, 2)}) == Point(2, 2)
      raises(ValueError, lambda: Point(1, 2).subs(1))
      raises(
          ValueError,
          lambda: Point(1, 1).subs((Point(1, 1), Point(1, 2)), 1, 2),
      )
  
file_path: sympy/sympy/geometry/tests/test_entity.py
imports: from sympy.core.numbers import Rational, pi
  from sympy.core.singleton import S
  from sympy.core.symbol import Symbol
  from sympy.geometry import Circle, Ellipse, Point, Line, Parabola, Polygon, Ray, RegularPolygon, Segment, Triangle, Plane, Curve
  from sympy.geometry.entity import scale, GeometryEntity
  from sympy.testing.pytest import raises
label_desc: Use image node_id 3 for calling a global function with example usage: test_subs() without return types