Skip to content

Commit 6ae1109

Browse files
committed
Some test functionality
1 parent 7709802 commit 6ae1109

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

tests/test_imports.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
def test_import_main():
2+
import quantumreservoirpy
3+
4+
def test_import_submodules():
5+
from quantumreservoirpy import music
6+
from quantumreservoirpy import reservoirs
7+
from quantumreservoirpy import plot

tests/test_run.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
2+
3+
def test_incremental():
4+
import numpy as np
5+
from qiskit.quantum_info import random_unitary
6+
from quantumreservoirpy.reservoirs import Incremental
7+
8+
encoder = {0: "00", 1: "01", 2: "10", 3: "11"}
9+
SHOTS = 100
10+
11+
12+
class RandomUnitary(Incremental):
13+
def __init__(self, n_qubits, memory=np.inf, backend=None, num_features=8) -> None:
14+
super().__init__(n_qubits, memory, backend, num_features)
15+
self.operator = random_unitary(2**n_qubits)
16+
17+
def before(self, circuit):
18+
circuit.h(circuit.qubits)
19+
20+
def during(self, circuit, timestep, reservoirnumber):
21+
circuit.measure([0, 1])
22+
circuit.initialize(encoder[timestep], [0, 1])
23+
circuit.append(self.operator, circuit.qubits)
24+
25+
def after(self, circuit):
26+
circuit.measure_all()
27+
28+
29+
res = RandomUnitary(n_qubits=4, memory=8)
30+
31+
timestep = [0, 1, 2, 3, 0, 1, 2, 2, 3]
32+
timeseries = timestep * 10
33+
34+
res.run(timeseries, shots=SHOTS)

0 commit comments

Comments
 (0)