diff --git a/test/python/transpiler/test_unitary_synthesis.py b/test/python/transpiler/test_unitary_synthesis.py index d93b03934173..93302ca78fd1 100644 --- a/test/python/transpiler/test_unitary_synthesis.py +++ b/test/python/transpiler/test_unitary_synthesis.py @@ -344,25 +344,36 @@ def test_two_qubit_synthesis_not_pulse_optimal(self): backend = FakeVigo() conf = backend.configuration() qr = QuantumRegister(2) - coupling_map = CouplingMap([[0, 1], [1, 2], [1, 3], [3, 4]]) - triv_layout_pass = TrivialLayout(coupling_map) qc = QuantumCircuit(qr) qc.unitary(random_unitary(4, seed=12), [0, 1]) - unisynth_pass = UnitarySynthesis( - basis_gates=conf.basis_gates, - coupling_map=coupling_map, - backend_props=backend.properties(), - pulse_optimize=False, - natural_direction=True, + coupling_map = CouplingMap([[0, 1]]) + pm_nonoptimal = PassManager( + [ + TrivialLayout(coupling_map), + UnitarySynthesis( + basis_gates=conf.basis_gates, + coupling_map=coupling_map, + backend_props=backend.properties(), + pulse_optimize=False, + natural_direction=True, + ), + ] ) - pm = PassManager([triv_layout_pass, unisynth_pass]) - qc_out = pm.run(qc) - if isinstance(qc_out, QuantumCircuit): - num_ops = qc_out.count_ops() - else: - num_ops = qc_out[0].count_ops() - self.assertIn("sx", num_ops) - self.assertGreaterEqual(num_ops["sx"], 16) + pm_optimal = PassManager( + [ + TrivialLayout(coupling_map), + UnitarySynthesis( + basis_gates=conf.basis_gates, + coupling_map=coupling_map, + backend_props=backend.properties(), + pulse_optimize=True, + natural_direction=True, + ), + ] + ) + qc_nonoptimal = pm_nonoptimal.run(qc) + qc_optimal = pm_optimal.run(qc) + self.assertGreater(qc_nonoptimal.count_ops()["sx"], qc_optimal.count_ops()["sx"]) def test_two_qubit_pulse_optimal_true_raises(self): """Verify raises if pulse optimal==True but cx is not in the backend basis."""