class_docstr: Test the support for executing tapes with multiple different
  measurements using a device with shot vectors
class_docstr_tok: ["Test","the","support","for","executing","tapes","with","multiple","different","measurements","using","a","device","with","shot","vectors"]
docstr: Test scalar-valued and probability measurements
docstr_tok: ["Test","scalar-valued","and","probability","measurements"]
code: def test_scalar_probs(self, shot_vector, meas1, meas2, device):
      """Test scalar-valued and probability measurements"""
      dev = qml.device(device, wires=3, shots=shot_vector)
  
      def circuit(x):
          qml.Hadamard(wires=[0])
          qml.CRX(x, wires=[0, 1])
          return qml.apply(meas1), qml.apply(meas2)
  
      qnode = qml.QNode(circuit, dev)
      qnode.construct([0.5], {})
  
      res = qml.execute(
          tapes=[qnode.tape], device=dev, gradient_fn=None
      )
  
      all_shots = sum(
          [shot_tuple.copies for shot_tuple in dev.shot_vector]
      )
  
      assert isinstance(res[0], tuple)
      assert len(res[0]) == all_shots
      assert all(isinstance(r, tuple) for r in res[0])
      assert all(
          isinstance(m, np.ndarray)
          for measurement_res in res[0]
          for m in measurement_res
      )
      for meas_res in res[0]:
          for i, r in enumerate(meas_res):
              if i % 2 == 0:
                  # Scalar-val meas
                  assert r.shape == ()
              else:
                  assert r.shape == (2**2,)
  
                  # Probs add up to 1
                  assert np.allclose(sum(r), 1)
  
imports: import numpy
  import pytest
  import pennylane
  from pennylane.measurements import MeasurementProcess
label_desc: Use image node_id 1 for calling the TestMixMeasurementsShotVector obj's underlying member method code with example usage: obj.test_scalar_probs(shot_vector, meas1, meas2, device) and returns: qml,  qml