def test_happy_case(observables, qubits): criteria = ObservableCriteria(observables=observables, qubits=qubits) assert criteria.applicable_key_types() == [ CriteriaKey.OBSERVABLE, CriteriaKey.QUBIT, ] if observables is None: assert CriteriaKeyResult.ALL == criteria.get_keys( CriteriaKey.OBSERVABLE) else: assert Observable.X in criteria.get_keys(CriteriaKey.OBSERVABLE) if qubits is None: assert CriteriaKeyResult.ALL == criteria.get_keys(CriteriaKey.QUBIT) else: assert 1 in criteria.get_keys(CriteriaKey.QUBIT)
def test_get_keys_for_unknown_keytypes(): criteria = ObservableCriteria(observables=[Observable.X], qubits=0) result = criteria.get_keys(CriteriaKey.UNITARY_GATE) assert len(result) == 0