def test_openqasm_is_available(gate, is_available): eng = MainEngine(backend=DummyEngine(), engine_list=[OpenQASMEngine()]) qubit1 = eng.allocate_qubit() cmd = Command(eng, gate, (qubit1, )) eng.is_available(cmd) == is_available eng = MainEngine(backend=OpenQASMEngine(), engine_list=[]) qubit1 = eng.allocate_qubit() cmd = Command(eng, gate, (qubit1, )) eng.is_available(cmd) == is_available
def test_openqasm_is_available_2control(gate, is_available): eng = MainEngine(backend=DummyEngine(), engine_list=[OpenQASMEngine()]) qubit1 = eng.allocate_qubit() qureg = eng.allocate_qureg(2) cmd = Command(eng, gate, (qubit1, ), controls=qureg) assert eng.is_available(cmd) == is_available eng = MainEngine(backend=OpenQASMEngine(), engine_list=[]) qubit1 = eng.allocate_qubit() qureg = eng.allocate_qureg(2) cmd = Command(eng, gate, (qubit1, ), controls=qureg) assert eng.is_available(cmd) == is_available
def is_available(self, cmd): try: return MainEngine.is_available(self, cmd) except LastEngineException: return True