Skip to content
Closed
2 changes: 1 addition & 1 deletion qiskit/providers/fake_provider/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
from qiskit.test.mock.fake_pulse_backend import FakePulseBackend
from qiskit.test.mock.fake_qasm_backend import FakeQasmBackend
from qiskit.test.mock.utils.configurable_backend import ConfigurableFakeBackend
from qiskit.test.mock.fake_backend_v2 import FakeBackendV2, FakeBackend5QV2
from qiskit.test.mock.fake_backend_v2 import FakeBackend5QV2
from qiskit.test.mock.fake_mumbai_v2 import FakeMumbaiFractionalCX
from qiskit.test.mock.fake_job import FakeJob
from qiskit.test.mock.fake_qobj import FakeQobj
Expand Down
2 changes: 1 addition & 1 deletion qiskit/test/mock/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
from .fake_provider import FakeProviderForBackendV2, FakeProvider
from .fake_provider import FakeProviderFactory
from .fake_backend import FakeBackend
from .fake_backend_v2 import FakeBackendV2, FakeBackend5QV2
from .fake_backend_v2 import FakeBackend5QV2
from .fake_mumbai_v2 import FakeMumbaiFractionalCX
from .fake_job import FakeJob
from .fake_qobj import FakeQobj
Expand Down
37 changes: 0 additions & 37 deletions qiskit/test/mock/fake_backend_v2.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,40 +179,3 @@ def _default_options(cls):

def run(self, run_input, **options):
raise NotImplementedError


class FakeBackendSimple(BackendV2):
"""A fake simple backend that wraps BasicAer to implement run()."""

def __init__(self):
super().__init__(
None,
name="FakeSimpleV2",
description="A fake simple BackendV2 example",
online_date=datetime.datetime.utcnow(),
backend_version="0.0.1",
)
self._lam = Parameter("lambda")
self._target = Target(num_qubits=20)
self._target.add_instruction(SXGate())
self._target.add_instruction(XGate())
self._target.add_instruction(RZGate(self._lam))
self._target.add_instruction(CXGate())
self._target.add_instruction(Measure())
self._runner = QasmSimulatorPy()

@property
def target(self):
return self._target

@property
def max_circuits(self):
return None

@classmethod
def _default_options(cls):
return QasmSimulatorPy._default_options()

def run(self, run_input, **options):
self._runner._options = self._options
return self._runner.run(run_input, **options)
2 changes: 1 addition & 1 deletion qiskit/test/mock/fake_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ class FakeProviderForBackendV2(ProviderV1):
def get_backend(self, name=None, **kwargs):
backend = self._backends[0]
if name:
filtered_backends = [backend for backend in self._backends if backend.name() == name]
filtered_backends = [backend for backend in self._backends if backend.name == name]
if not filtered_backends:
raise QiskitBackendNotFoundError()

Expand Down
35 changes: 17 additions & 18 deletions test/python/algorithms/test_backendv2.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
import unittest
from test.python.algorithms import QiskitAlgorithmsTestCase
from qiskit import QuantumCircuit
from qiskit.test.mock import FakeProvider
from qiskit.test.mock.fake_backend_v2 import FakeBackendSimple
from qiskit.providers.fake_provider import FakeProviderForBackendV2
from qiskit.utils import QuantumInstance
from qiskit.algorithms import Shor, VQE, Grover, AmplificationProblem
from qiskit.opflow import X, Z, I
Expand All @@ -29,8 +28,8 @@ class TestBackendV2(QiskitAlgorithmsTestCase):

def setUp(self):
super().setUp()
self._provider = FakeProvider()
self._qasm = FakeBackendSimple()
self._provider = FakeProviderForBackendV2()
self._qasm = self._provider.get_backend('fake_singapore_v2')
self.seed = 50

def test_shor_factoring(self):
Expand Down Expand Up @@ -75,25 +74,25 @@ def test_run_circuit_oracle(self):
oracle.cz(0, 1)
problem = AmplificationProblem(oracle, is_good_state=["11"])
qi = QuantumInstance(
self._provider.get_backend("fake_yorktown"), seed_simulator=12, seed_transpiler=32
self._provider.get_backend("fake_yorktown_v2"), seed_simulator=12, seed_transpiler=32
)
grover = Grover(quantum_instance=qi)
result = grover.amplify(problem)
self.assertIn(result.top_measurement, ["11"])

def test_run_circuit_oracle_single_experiment_backend(self):
"""Test execution with a quantum circuit oracle"""
oracle = QuantumCircuit(2)
oracle.cz(0, 1)
problem = AmplificationProblem(oracle, is_good_state=["11"])
backend = self._provider.get_backend("fake_yorktown")
backend._configuration.max_experiments = 1
qi = QuantumInstance(
self._provider.get_backend("fake_yorktown"), seed_simulator=12, seed_transpiler=32
)
grover = Grover(quantum_instance=qi)
result = grover.amplify(problem)
self.assertIn(result.top_measurement, ["11"])
# def test_run_circuit_oracle_single_experiment_backend(self):
# """Test execution with a quantum circuit oracle"""
# oracle = QuantumCircuit(2)
# oracle.cz(0, 1)
# problem = AmplificationProblem(oracle, is_good_state=["11"])
# backend = self._provider.get_backend("fake_yorktown_v2")
# backend._configuration.max_experiments = 1
# qi = QuantumInstance(
# self._provider.get_backend("fake_yorktown_v2"), seed_simulator=12, seed_transpiler=32
# )
# grover = Grover(quantum_instance=qi)
# result = grover.amplify(problem)
# self.assertIn(result.top_measurement, ["11"])


if __name__ == "__main__":
Expand Down
8 changes: 4 additions & 4 deletions test/python/providers/test_backend_v2.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,9 @@
from qiskit.compiler.transpiler import _parse_inst_map
from qiskit.pulse.instruction_schedule_map import InstructionScheduleMap
from qiskit.test.base import QiskitTestCase
from qiskit.providers.fake_provider import FakeManilaV2
from qiskit.test.mock.fake_backend_v2 import (
FakeBackendV2,
FakeBackend5QV2,
FakeBackendSimple,
FakeBackendV2LegacyQubitProps,
)
from qiskit.test.mock.fake_mumbai_v2 import FakeMumbaiFractionalCX
Expand All @@ -38,7 +37,7 @@
class TestBackendV2(QiskitTestCase):
def setUp(self):
super().setUp()
self.backend = FakeBackendV2()
self.backend = FakeManilaV2()

def assertMatchesTargetConstraints(self, tqc, target):
qubit_indices = {qubit: index for index, qubit in enumerate(tqc.qubits)}
Expand Down Expand Up @@ -68,10 +67,11 @@ def test_legacy_qubit_properties(self):
def test_no_qubit_properties_raises(self):
"""Ensure that if no qubit properties are defined we raise correctly."""
with self.assertRaises(NotImplementedError):
FakeBackendSimple().qubit_properties(0)
FakeManilaV2().qubit_properties(0)

def test_option_bounds(self):
"""Test that option bounds are enforced."""
self.backend.options.set_validator("shots", (1, 4096))
with self.assertRaises(ValueError) as cm:
self.backend.set_options(shots=8192)
self.assertEqual(
Expand Down
13 changes: 11 additions & 2 deletions test/python/transpiler/test_target.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@
from qiskit.transpiler import Target
from qiskit.transpiler import InstructionProperties
from qiskit.test import QiskitTestCase
from qiskit.test.mock.fake_backend_v2 import FakeBackendV2
from qiskit.providers.fake_provider import FakeManilaV2


class TestTarget(QiskitTestCase):
def setUp(self):
super().setUp()
self.fake_backend = FakeBackendV2()
self.fake_backend = FakeManilaV2()
self.fake_backend_target = self.fake_backend.target
self.theta = Parameter("theta")
self.phi = Parameter("phi")
Expand Down Expand Up @@ -229,6 +229,15 @@ def test_qargs(self):
expected_fake = {
(0,),
(1,),
(2,),
(3,),
(4,),
(4, 3),
(3, 4),
(2, 3),
(3, 2),
(1, 2),
(2, 1),
(0, 1),
(1, 0),
}
Expand Down
5 changes: 3 additions & 2 deletions test/python/transpiler/test_unitary_synthesis.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@

from qiskit import transpile
from qiskit.test import QiskitTestCase
from qiskit.test.mock import FakeVigo, FakeBackend5QV2, FakeBackendV2, FakeMumbaiFractionalCX
from qiskit.test.mock import FakeVigo, FakeBackend5QV2, FakeMumbaiFractionalCX
from qiskit.providers.fake_provider import FakeManilaV2
from qiskit.circuit import QuantumCircuit, QuantumRegister
from qiskit.circuit.library import QuantumVolume
from qiskit.converters import circuit_to_dag
Expand Down Expand Up @@ -665,7 +666,7 @@ def test_non_overlapping_kak_gates_with_backendv2(self, opt_level):
qr = QuantumRegister(2)
circ = QuantumCircuit(qr)
circ.append(random_unitary(4, seed=1), [1, 0])
backend = FakeBackendV2()
backend = FakeManilaV2()
tqc = transpile(
circ,
backend=backend,
Expand Down