code: def test_get_motion_methods():
      # Initialization
      t = dynamicsymbols._t
      s1, s2, s3 = symbols("s1 s2 s3")
      S1, S2, S3 = symbols("S1 S2 S3")
      S4, S5, S6 = symbols("S4 S5 S6")
      t1, t2 = symbols("t1 t2")
      a, b, c = dynamicsymbols("a b c")
      ad, bd, cd = dynamicsymbols("a b c", 1)
      a2d, b2d, c2d = dynamicsymbols("a b c", 2)
      v0 = S1 * N.x + S2 * N.y + S3 * N.z
      v01 = S4 * N.x + S5 * N.y + S6 * N.z
      v1 = s1 * N.x + s2 * N.y + s3 * N.z
      v2 = a * N.x + b * N.y + c * N.z
      v2d = ad * N.x + bd * N.y + cd * N.z
      v2dd = a2d * N.x + b2d * N.y + c2d * N.z
      # Test position parameter
      assert get_motion_params(frame=N) == (0, 0, 0)
      assert get_motion_params(N, position=v1) == (0, 0, v1)
      assert get_motion_params(N, position=v2) == (v2dd, v2d, v2)
      # Test velocity parameter
      assert get_motion_params(N, velocity=v1) == (0, v1, v1 * t)
      assert get_motion_params(
          N, velocity=v1, position=v0, timevalue1=t1
      ) == (0, v1, v0 + v1 * (t - t1))
      answer = get_motion_params(
          N, velocity=v1, position=v2, timevalue1=t1
      )
      answer_expected = (0, v1, v1 * t - v1 * t1 + v2.subs(t, t1))
      assert answer == answer_expected
  
      answer = get_motion_params(
          N, velocity=v2, position=v0, timevalue1=t1
      )
      integral_vector = (
          Integral(a, (t, t1, t)) * N.x
          + Integral(b, (t, t1, t)) * N.y
          + Integral(c, (t, t1, t)) * N.z
      )
      answer_expected = (v2d, v2, v0 + integral_vector)
      assert answer == answer_expected
  
      # Test acceleration parameter
      assert get_motion_params(N, acceleration=v1) == (
          v1,
          v1 * t,
          v1 * t**2 / 2,
      )
      assert get_motion_params(
          N,
          acceleration=v1,
          velocity=v0,
          position=v2,
          timevalue1=t1,
          timevalue2=t2,
      ) == (
          v1,
          (v0 + v1 * t - v1 * t2),
          -v0 * t1
          + v1 * t**2 / 2
          + v1 * t2 * t1
          - v1 * t1**2 / 2
          + t * (v0 - v1 * t2)
          + v2.subs(t, t1),
      )
      assert get_motion_params(
          N,
          acceleration=v1,
          velocity=v0,
          position=v01,
          timevalue1=t1,
          timevalue2=t2,
      ) == (
          v1,
          v0 + v1 * t - v1 * t2,
          -v0 * t1
          + v01
          + v1 * t**2 / 2
          + v1 * t2 * t1
          - v1 * t1**2 / 2
          + t * (v0 - v1 * t2),
      )
      answer = get_motion_params(
          N,
          acceleration=a * N.x,
          velocity=S1 * N.x,
          position=S2 * N.x,
          timevalue1=t1,
          timevalue2=t2,
      )
      i1 = Integral(a, (t, t2, t))
      answer_expected = (
          a * N.x,
          (S1 + i1) * N.x,
          (S2 + Integral(S1 + i1, (t, t1, t))) * N.x,
      )
      assert answer == answer_expected
  
imports: from sympy.core.numbers import pi
  from sympy.core.singleton import S
  from sympy.core.symbol import symbols
  from sympy.functions.elementary.miscellaneous import sqrt
  from sympy.functions.elementary.trigonometric import cos, sin
  from sympy.integrals.integrals import Integral
  from sympy.physics.vector import Dyadic, Point, ReferenceFrame, Vector
  from sympy.physics.vector.functions import cross, dot, express, time_derivative, kinematic_equations, outer, partial_velocity, get_motion_params, dynamicsymbols
  from sympy.simplify import trigsimp
  from sympy.testing.pytest import raises
label_desc: Use image node_id 8 for calling a global function with example usage: test_get_motion_methods() without return types