code: def test_quats(x, y, z):
      M1 = nea.euler2mat(z, y, x)
      quatM = nq.mat2quat(M1)
      quat = nea.euler2quat(z, y, x)
      assert nq.nearly_equivalent(quatM, quat)
      quatS = sympy_euler2quat(z, y, x)
      assert nq.nearly_equivalent(quat, quatS)
      zp, yp, xp = nea.quat2euler(quat)
      # The parameters may not be the same as input, but they give the
      # same rotation matrix
      M2 = nea.euler2mat(zp, yp, xp)
      assert_array_almost_equal(M1, M2)
  
file_path: nibabel/nibabel/tests/test_euler.py
imports: import math
  import numpy
  import pytest
  from numpy import pi
  from numpy.testing import assert_array_almost_equal, assert_array_equal
  from ..None import eulerangles
  from ..None import quaternions
label_desc: Use image node_id 12 for calling a global function with example usage: test_quats(x, y, z) without return types