def test_decompose_toffoli(self): """Test decompose CCX. """ qr1 = QuantumRegister(2, 'qr1') qr2 = QuantumRegister(1, 'qr2') circuit = QuantumCircuit(qr1, qr2) circuit.ccx(qr1[0], qr1[1], qr2[0]) dag = circuit_to_dag(circuit) pass_ = Decompose(ToffoliGate(qr1[0], qr1[1], qr2[0])) after_dag = pass_.run(dag) op_nodes = after_dag.get_op_nodes(data=True) self.assertEqual(len(op_nodes), 15) for node in op_nodes: op = node[1]["op"] self.assertIn(op.name, ['h', 't', 'tdg', 'cx'])
def test_controlled_cx(self): """Test creation of controlled cx gate""" self.assertEqual(CnotGate().control(), ToffoliGate())