Skip to content
This repository was archived by the owner on Dec 15, 2023. It is now read-only.

Commit d4bc1df

Browse files
Added segment scope reader tests.
1 parent 9306e27 commit d4bc1df

File tree

2 files changed

+69
-1
lines changed

2 files changed

+69
-1
lines changed

src/qtt/measurements/videomode.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import qtpy.QtCore
2323
from qtt.measurements.scans import makeDataset_sweep, makeDataset_sweep_2D
2424
from qtt.measurements.acquisition.interfaces import AcquisitionScopeInterface
25-
from qilib.data_set import DataSet
2625

2726
# %%
2827

src/tests/measurements/test_scans.py

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
import numpy as np
2+
from unittest import TestCase
3+
from unittest.mock import MagicMock, patch
4+
5+
from qtt.measurements.scans import measure_segment_scope_reader
6+
7+
class TestScans(TestCase):
8+
9+
def test_measure_segment_scope_reader_2D(self):
10+
period = 1e-3
11+
width = [0.9, 0.9]
12+
resolution = [96, 96]
13+
sample_rate = 1e6
14+
mock_data_arrays = MagicMock(T=[2, 3, 4])
15+
16+
mock_scope = MagicMock(sample_rate=sample_rate)
17+
mock_scope.acquire.return_value = mock_data_arrays
18+
19+
raw_data_mock = MagicMock()
20+
data_mock = MagicMock()
21+
waveform = dict(period=period, width_horz=width[0], width_vert=width[1], resolution=resolution)
22+
average_count = 123
23+
24+
with patch('qtt.measurements.scans.process_2d_sawtooth', return_value = (data_mock, None)) as process_mock:
25+
with patch('numpy.array') as array_mock:
26+
array_mock.return_value.T = raw_data_mock
27+
result_data = measure_segment_scope_reader(mock_scope, waveform, average_count)
28+
29+
array_mock.assert_called_once_with(mock_data_arrays)
30+
mock_scope.acquire.assert_called_once_with(number_of_averages=average_count)
31+
process_mock.assert_called_with(raw_data_mock, period, sample_rate,
32+
resolution, width, fig=None, start_zero=False)
33+
self.assertEqual(data_mock, result_data)
34+
35+
def test_measure_segment_scope_reader_1D(self):
36+
period = 1e-3
37+
width = 0.9
38+
sample_rate = 1e6
39+
mock_data_arrays = MagicMock(T=[2, 3, 4])
40+
41+
mock_scope = MagicMock(sample_rate=sample_rate)
42+
mock_scope.acquire.return_value = mock_data_arrays
43+
44+
raw_data_mock = MagicMock()
45+
data_mock = MagicMock()
46+
waveform = dict(period=period, width=width)
47+
average_count = 123
48+
49+
with patch('qtt.measurements.scans.process_1d_sawtooth', return_value = (data_mock, None)) as process_mock:
50+
with patch('numpy.array') as array_mock:
51+
array_mock.return_value.T = raw_data_mock
52+
result_data = measure_segment_scope_reader(mock_scope, waveform, average_count)
53+
54+
array_mock.assert_called_once_with(mock_data_arrays)
55+
mock_scope.acquire.assert_called_once_with(number_of_averages=average_count)
56+
process_mock.assert_called_with(raw_data_mock, [width], period, sample_rate,
57+
resolution=None, start_zero=False, fig=None)
58+
self.assertEqual(data_mock, result_data)
59+
60+
def test_measure_segment_scope_reader_no_processing(self):
61+
mock_scope = MagicMock()
62+
mock_scope.acquire.return_value = MagicMock()
63+
64+
average_count = 123
65+
numpy_array_mock = MagicMock()
66+
with patch('numpy.array', return_value=numpy_array_mock):
67+
result_data = measure_segment_scope_reader(mock_scope, None, average_count, process=False)
68+
mock_scope.acquire.assert_called_once_with(number_of_averages=average_count)
69+
self.assertEqual(numpy_array_mock, result_data)

0 commit comments

Comments
 (0)