code: def test_2D_pathway_on_cylinder_to_loads(self):
      q = dynamicsymbols("q")
      pA_pos = self.r * self.N.x
      pB_pos = self.r * (cos(q) * self.N.x + sin(q) * self.N.y)
      self.pA.set_pos(self.pO, pA_pos)
      self.pB.set_pos(self.pO, pB_pos)
  
      pA_force = self.F * self.N.y
      pB_force = self.F * (sin(q) * self.N.x - cos(q) * self.N.y)
      pO_force = self.F * (-sin(q) * self.N.x + (cos(q) - 1) * self.N.y)
      expected = [
          Force(self.pA, pA_force),
          Force(self.pB, pB_force),
          Force(self.pO, pO_force),
      ]
  
      loads = _simplify_loads(self.pathway.to_loads(self.F))
      assert loads == expected
  
imports: import pytest
  from sympy import Rational, Symbol, cos, pi, sin, sqrt
  from sympy.physics.mechanics import Force, LinearPathway, ObstacleSetPathway, PathwayBase, Point, ReferenceFrame, WrappingCylinder, WrappingGeometryBase, WrappingPathway, WrappingSphere, dynamicsymbols
  from sympy.simplify.simplify import simplify
label_desc: Use image node_id 20 for calling the TestWrappingPathway obj's underlying member method code with example usage: obj.test_2D_pathway_on_cylinder_to_loads() without return types