class_docstr: Test tensor expectation values
class_docstr_tok: ["Test","tensor","expectation","values"]
docstr: Test that a tensor product along with a non-tensor product
  continues to function correctly
docstr_tok: ["Test","that","a","tensor","product","along","with","a","non-tensor","product","continues","to","function","correctly"]
code: def test_combine_tensor_with_non_tensor(
      self, shots, theta, phi, varphi, tolerance
  ):
      """Test that a tensor product along with a non-tensor product
      continues to function correctly"""
      dev = qml.device("default.qubit", wires=3, shots=shots)
  
      @qml.qnode(dev)
      def circuit1(a, b, c):
          ansatz(a, b, c)
          return expval(qml.PauliZ(0) @ qml.PauliZ(2)), expval(
              qml.PauliZ(1)
          )
  
      @qml.qnode(dev)
      def circuit2(a, b, c):
          ansatz(a, b, c)
          return expval(qml.Hermitian(np.kron(Z, Z), wires=[0, 2]))
  
      @qml.qnode(dev)
      def circuit3(a, b, c):
          ansatz(a, b, c)
          return expval(qml.PauliZ(1))
  
      res1 = circuit1(theta, phi, varphi)
      res2 = circuit2(theta, phi, varphi), circuit3(theta, phi, varphi)
  
      assert np.allclose(res1, res2, **tolerance)
  
imports: import functools
  import pytest
  import numpy
  import pennylane
  from pennylane import expval, var, sample
label_desc: Use image node_id 3 for calling the TestTensorExpval obj's underlying member method code with example usage: obj.test_combine_tensor_with_non_tensor(shots, theta, phi, varphi, tolerance) and returns: expval,  expval, expval, expval