def mock_qubit_device_with_original_statistics(monkeypatch): """ A mock device that mocks only basis methods and uses the original statistics related methods""" with monkeypatch.context() as m: m.setattr(QubitDevice, "__abstractmethods__", frozenset()) m.setattr(QubitDevice, "_capabilities", mock_qubit_device_capabilities) m.setattr(QubitDevice, "operations", ["PauliY", "RX", "Rot"]) m.setattr(QubitDevice, "observables", ["PauliZ"]) m.setattr(QubitDevice, "short_name", "MockDevice") yield QubitDevice()
def mock_qubit_device_with_paulis_and_methods(monkeypatch): """A mock instance of the abstract QubitDevice class that supports Paulis in its capabilities""" with monkeypatch.context() as m: m.setattr(QubitDevice, "__abstractmethods__", frozenset()) m.setattr(QubitDevice, "_capabilities", mock_qubit_device_capabilities) m.setattr(QubitDevice, "operations", mock_qubit_device_paulis) m.setattr(QubitDevice, "observables", mock_qubit_device_paulis) m.setattr(QubitDevice, "short_name", "MockDevice") m.setattr(QubitDevice, "expval", lambda self, x: 0) m.setattr(QubitDevice, "var", lambda self, x: 0) m.setattr(QubitDevice, "sample", lambda self, x: 0) m.setattr(QubitDevice, "apply", lambda self, x: None) yield QubitDevice()
def mock_qubit_device(monkeypatch): """ A mock device that mocks most of the methods except for e.g. probability()""" with monkeypatch.context() as m: m.setattr(QubitDevice, "__abstractmethods__", frozenset()) m.setattr(QubitDevice, "_capabilities", mock_qubit_device_capabilities) m.setattr(QubitDevice, "operations", ["PauliY", "RX", "Rot"]) m.setattr(QubitDevice, "observables", ["PauliZ"]) m.setattr(QubitDevice, "short_name", "MockDevice") m.setattr(QubitDevice, "expval", lambda self, x: 0) m.setattr(QubitDevice, "var", lambda self, x: 0) m.setattr(QubitDevice, "sample", lambda self, x: 0) m.setattr(QubitDevice, "apply", lambda self, x: None) yield QubitDevice()
def mock_qubit_device_with_paulis_and_methods(monkeypatch): """A mock instance of the abstract QubitDevice class that supports Paulis in its capabilities""" with monkeypatch.context() as m: m.setattr(QubitDevice, '__abstractmethods__', frozenset()) m.setattr(QubitDevice, '_capabilities', mock_qubit_device_capabilities) m.setattr(QubitDevice, 'operations', mock_qubit_device_paulis) m.setattr(QubitDevice, 'observables', mock_qubit_device_paulis) m.setattr(QubitDevice, 'short_name', 'MockDevice') m.setattr(QubitDevice, 'expval', lambda self, x: 0) m.setattr(QubitDevice, 'var', lambda self, x: 0) m.setattr(QubitDevice, 'sample', lambda self, x: 0) m.setattr(QubitDevice, 'apply', lambda self, x: None) yield QubitDevice()
def mock_qubit_device(monkeypatch): """ A mock device that mocks most of the methods except for e.g. probability()""" with monkeypatch.context() as m: m.setattr(QubitDevice, '__abstractmethods__', frozenset()) m.setattr(QubitDevice, '_capabilities', mock_qubit_device_capabilities) m.setattr(QubitDevice, 'operations', ["PauliY", "RX", "Rot"]) m.setattr(QubitDevice, 'observables', ["PauliZ"]) m.setattr(QubitDevice, 'short_name', 'MockDevice') m.setattr(QubitDevice, 'expval', lambda self, x: 0) m.setattr(QubitDevice, 'var', lambda self, x: 0) m.setattr(QubitDevice, 'sample', lambda self, x: 0) m.setattr(QubitDevice, 'apply', lambda self, x: None) yield QubitDevice()
def mock_qubit_device_extract_stats(monkeypatch): """ A mock device that mocks the methods related to statistics (expval, var, sample, probability)""" with monkeypatch.context() as m: m.setattr(QubitDevice, "__abstractmethods__", frozenset()) m.setattr(QubitDevice, "_capabilities", mock_qubit_device_capabilities) m.setattr(QubitDevice, "operations", ["PauliY", "RX", "Rot"]) m.setattr(QubitDevice, "observables", ["PauliZ"]) m.setattr(QubitDevice, "short_name", "MockDevice") m.setattr(QubitDevice, "expval", lambda self, x: 0) m.setattr(QubitDevice, "var", lambda self, x: 0) m.setattr(QubitDevice, "sample", lambda self, x: 0) m.setattr( QubitDevice, "probability", lambda self, wires=None: 0 if wires is None else wires ) m.setattr(QubitDevice, "apply", lambda self, x: x) yield QubitDevice()
def mock_qubit_device_extract_stats(monkeypatch): """ A mock device that mocks the methods related to statistics (expval, var, sample, probability)""" with monkeypatch.context() as m: m.setattr(QubitDevice, '__abstractmethods__', frozenset()) m.setattr(QubitDevice, '_capabilities', mock_qubit_device_capabilities) m.setattr(QubitDevice, 'operations', ["PauliY", "RX", "Rot"]) m.setattr(QubitDevice, 'observables', ["PauliZ"]) m.setattr(QubitDevice, 'short_name', 'MockDevice') m.setattr(QubitDevice, 'expval', lambda self, x: 0) m.setattr(QubitDevice, 'var', lambda self, x: 0) m.setattr(QubitDevice, 'sample', lambda self, x: 0) m.setattr(QubitDevice, 'probability', lambda self, wires=None: 0 if wires is None else wires) m.setattr(QubitDevice, 'apply', lambda self, x: x) yield QubitDevice()
def get_qubit_device(wires=1): return QubitDevice(wires=wires)