class_docstr: Test that utility functions for fusing two qml.Rot gates function as expected.
docstr: Test that the fusion of two Rot gates has the same effect as
  applying the Rots sequentially.
docstr_tok: ["Test","that","the","fusion","of","two","Rot","gates","has","the","same","effect","as","applying","the","Rots","sequentially","."]
code: def test_full_rot_fusion_autograd(self, angles_1, angles_2):
      """Test that the fusion of two Rot gates has the same effect as
      applying the Rots sequentially."""
  
      def original_ops():
          qml.Rot(*angles_1, wires=0)
          qml.Rot(*angles_2, wires=0)
  
      matrix_expected = qml.matrix(
          original_ops, [0]
      )()  # pylint:disable=too-many-function-args
  
      fused_angles = fuse_rot_angles(angles_1, angles_2)
      matrix_obtained = qml.Rot(*fused_angles, wires=0).matrix()
  
      assert check_matrix_equivalence(matrix_expected, matrix_obtained)
  
file_path: pennylane/tests/transforms/test_optimization/test_optimization_utils.py
imports: import pytest
  from utils import check_matrix_equivalence
  from pennylane.transforms.optimization.optimization_utils import find_next_gate, _zyz_to_quat, _quaternion_product, fuse_rot_angles
  import pennylane
  from pennylane import numpy
label_desc: Use image node_id 3 for calling the TestRotGateFusion obj's underlying member method code with example usage: obj.test_full_rot_fusion_autograd(angles_1, angles_2) without return types