summaryrefslogtreecommitdiffstats
path: root/lab_control/test
diff options
context:
space:
mode:
authorEddy Pedroni <eddy@0xf7.com>2022-06-02 21:51:22 +0200
committerEddy Pedroni <eddy@0xf7.com>2022-06-02 21:51:22 +0200
commit038be6aa9a2882db877954c1a57bb23ea70b5ad5 (patch)
tree6cc70fd8be7614ae98b6ab4a335fdf40fb9ca09b /lab_control/test
parent7c7d85f9bdc4715500cbf901fcdd8eb605d2668e (diff)
Minor improvements
Diffstat (limited to 'lab_control/test')
-rw-r--r--lab_control/test/frequency_response_test.py (renamed from lab_control/test/frequency_response_measurement_test.py)37
-rw-r--r--lab_control/test/measurement_test.py53
2 files changed, 74 insertions, 16 deletions
diff --git a/lab_control/test/frequency_response_measurement_test.py b/lab_control/test/frequency_response_test.py
index 5a73b3e..014b4f6 100644
--- a/lab_control/test/frequency_response_measurement_test.py
+++ b/lab_control/test/frequency_response_test.py
@@ -2,6 +2,7 @@ import pytest
from lab_control.test.mock_lab import MockLab
from lab_control.frequency_response import FrequencyResponseMeasurement
+from lab_control.measurement import getLinearRange
@pytest.fixture
def mockLab():
@@ -11,22 +12,9 @@ def mockLab():
def uut(mockLab):
return FrequencyResponseMeasurement()
-def test_frequencyResponseDefaults(uut):
- assert uut.minFrequency == 20e0
- assert uut.maxFrequency == 16e3
- assert uut.steps == 50
- assert uut.functionGeneratorChannel == 1
- assert uut.oscilloscopeChannel == 1
-
-def test_frequencyResponseRamp(mockLab, uut):
- uut.minFrequency = 100.0
- uut.maxFrequency = 200.0
- uut.steps = 11
- uut.functionGeneratorChannel = 1
- uut.oscilloscopeChannel = 1
-
+def prepareRampResponse(uut, mockLab):
# Expect a ramp response from 0.5 to 1.5 * input amplitude
- inputAmplitude = 1.0
+ inputAmplitude = 2.0
minScale = 0.5
maxScale = 1.5
@@ -40,7 +28,23 @@ def test_frequencyResponseRamp(mockLab, uut):
mockLab.setAmplitude(uut.functionGeneratorChannel, inputAmplitude)
mockLab.setOn(uut.functionGeneratorChannel)
- expectedData = [(f, testFunction(f) * inputAmplitude) for f in [100.0, 110.0, 120.0, 130.0, 140.0, 150.0, 160.0, 170.0, 180.0, 190.0, 200.0]]
+ return [(f, testFunction(f) * inputAmplitude) for f in getLinearRange(uut.minFrequency, uut.maxFrequency, uut.steps)]
+
+def test_frequencyResponseDefaults(uut):
+ assert uut.minFrequency == 20e0
+ assert uut.maxFrequency == 16e3
+ assert uut.steps == 50
+ assert uut.functionGeneratorChannel == 1
+ assert uut.oscilloscopeChannel == 1
+
+def test_frequencyResponseRamp(mockLab, uut):
+ uut.minFrequency = 100.0
+ uut.maxFrequency = 200.0
+ uut.steps = 11
+ uut.functionGeneratorChannel = 1
+ uut.oscilloscopeChannel = 1
+
+ expectedData = prepareRampResponse(uut, mockLab)
assert not uut.measurementDone
assert uut.data == None
@@ -49,3 +53,4 @@ def test_frequencyResponseRamp(mockLab, uut):
assert uut.measurementDone
assert uut.data == expectedData
+
diff --git a/lab_control/test/measurement_test.py b/lab_control/test/measurement_test.py
new file mode 100644
index 0000000..07716a3
--- /dev/null
+++ b/lab_control/test/measurement_test.py
@@ -0,0 +1,53 @@
+import pytest
+
+from lab_control.measurement import *
+
+@pytest.fixture
+def uut():
+ return Measurement()
+
+def test_linearRangeAscending():
+ first = 100.0
+ last = 200.0
+ steps = 11
+
+ expectedRange = [
+ 100.0, 110.0, 120.0, 130.0,
+ 140.0, 150.0, 160.0, 170.0,
+ 180.0, 190.0, 200.0
+ ]
+
+ actualRange = getLinearRange(first, last, steps)
+ assert actualRange == expectedRange
+
+def test_linearRangeDescending():
+ first = 200.0
+ last = 180.0
+ steps = 3
+
+ expectedRange = [
+ 200.0, 190.0, 180.0
+ ]
+
+ actualRange = getLinearRange(first, last, steps)
+ assert actualRange == expectedRange
+
+def test_linearRangeTwoSteps():
+ first = 20.0
+ last = -20.0
+ steps = 2
+
+ expectedRange = [
+ 20.0, -20.0
+ ]
+
+ actualRange = getLinearRange(first, last, steps)
+ assert actualRange == expectedRange
+
+def test_linearRangeOneStep():
+ first = 20.0
+ last = -20.0
+ steps = 1
+
+ with pytest.raises(AssertionError):
+ actualRange = getLinearRange(first, last, steps)