# AssertProb operation

Asserts that measuring the given qubits in the given Pauli basis will have the given result with the given probability, within some tolerance.

`operation AssertProb (bases : Pauli[], qubits : Qubit[], result : Result, prob : Double, msg : String, tol : Double) : ()`

## Input

- bases
- Pauli[]

A measurement effect to assert the probability of, expressed as a multi-qubit Pauli operator.

- qubits
- Qubit[]

A register on which to make the assertion.

- result
- Result

An expected result of `Measure(bases, qubits)`

.

- prob
- Double

The probability with which the given result is expected.

- msg
- String

A message to be reported if the assertion fails.

- tol
- Double

## Output

()

## Remarks

### Examples

```
using (register = Qubit[1]) {
H(register[0]);
AssertProb([PauliZ], register, One, 0.5,
"Measuring in conjugate basis did not give 50/50 results.");
}
```