code: def test_parallel_axis():
      N = ReferenceFrame("N")
      m, Ix, Iy, Iz, a, b = symbols("m, I_x, I_y, I_z, a, b")
      Io = inertia(N, Ix, Iy, Iz)
      o = Point("o")
      p = o.locatenew("p", a * N.x + b * N.y)
      R = RigidBody("R", o, N, m, (Io, o))
      Ip = R.parallel_axis(p)
      Ip_expected = inertia(
          N,
          Ix + m * b**2,
          Iy + m * a**2,
          Iz + m * (a**2 + b**2),
          ixy=-m * a * b,
      )
      assert Ip == Ip_expected
      # Reference frame from which the parallel axis is viewed should not matter
      A = ReferenceFrame("A")
      A.orient_axis(N, N.z, 1)
      assert simplify(
          (R.parallel_axis(p, A) - Ip_expected).to_matrix(A)
      ) == zeros(3, 3)
  
file_path: sympy/sympy/physics/mechanics/tests/test_rigidbody.py
imports: from sympy.physics.mechanics import Point, ReferenceFrame, Dyadic, RigidBody
  from sympy.physics.mechanics import dynamicsymbols, outer, inertia, Inertia
  from sympy.physics.mechanics import inertia_of_point_mass
  from sympy import expand, zeros, simplify, symbols
  from sympy.testing.pytest import raises, warns_deprecated_sympy
label_desc: Use image node_id 7 for calling a global function with example usage: test_parallel_axis() without return types