Build out MATLAB test framework and core integration coverage
This commit is contained in:
@@ -1,11 +1,10 @@
|
||||
classdef EQ_copy_test < matlab.unittest.TestCase
|
||||
% Test class for EQ_copy
|
||||
classdef EQ_copy_test < IMDDTestCase
|
||||
% Auto-generated placeholder for EQ_copy.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/EQ_copy.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for EQ_copy
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for EQ_copy are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef EQ_silas_ofc_test < matlab.unittest.TestCase
|
||||
% Test class for EQ_silas_ofc
|
||||
classdef EQ_silas_ofc_test < IMDDTestCase
|
||||
% Auto-generated placeholder for EQ_silas_ofc.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/EQ_silas_ofc.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for EQ_silas_ofc
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for EQ_silas_ofc are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef EQ_silas_plain_test < matlab.unittest.TestCase
|
||||
% Test class for EQ_silas_plain
|
||||
classdef EQ_silas_plain_test < IMDDTestCase
|
||||
% Auto-generated placeholder for EQ_silas_plain.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/EQ_silas_plain.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for EQ_silas_plain
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for EQ_silas_plain are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef EQ_silas_sliding_window_dc_removal_test < matlab.unittest.TestCase
|
||||
% Test class for EQ_silas_sliding_window_dc_removal
|
||||
classdef EQ_silas_sliding_window_dc_removal_test < IMDDTestCase
|
||||
% Auto-generated placeholder for EQ_silas_sliding_window_dc_removal.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/EQ_silas_sliding_window_dc_removal.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for EQ_silas_sliding_window_dc_removal
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for EQ_silas_sliding_window_dc_removal are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef EQ_silas_test < matlab.unittest.TestCase
|
||||
% Test class for EQ_silas
|
||||
classdef EQ_silas_test < IMDDTestCase
|
||||
% Auto-generated placeholder for EQ_silas.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/EQ_silas.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for EQ_silas
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for EQ_silas are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef EQ_test < matlab.unittest.TestCase
|
||||
% Test class for EQ
|
||||
classdef EQ_test < IMDDTestCase
|
||||
% Auto-generated placeholder for EQ.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/EQ.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for EQ
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for EQ are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef FFE_DCremoval_adaptive_mu_test < matlab.unittest.TestCase
|
||||
% Test class for FFE_DCremoval_adaptive_mu
|
||||
classdef FFE_DCremoval_adaptive_mu_test < IMDDTestCase
|
||||
% Auto-generated placeholder for FFE_DCremoval_adaptive_mu.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/FFE_DCremoval_adaptive_mu.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for FFE_DCremoval_adaptive_mu
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for FFE_DCremoval_adaptive_mu are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef FFE_DCremoval_level_test < matlab.unittest.TestCase
|
||||
% Test class for FFE_DCremoval_level
|
||||
classdef FFE_DCremoval_level_test < IMDDTestCase
|
||||
% Auto-generated placeholder for FFE_DCremoval_level.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/FFE_DCremoval_level.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for FFE_DCremoval_level
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for FFE_DCremoval_level are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef FFE_DCremoval_test < matlab.unittest.TestCase
|
||||
% Test class for FFE_DCremoval
|
||||
classdef FFE_DCremoval_test < IMDDTestCase
|
||||
% Auto-generated placeholder for FFE_DCremoval.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/FFE_DCremoval.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for FFE_DCremoval
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for FFE_DCremoval are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef FFE_DFE_test < matlab.unittest.TestCase
|
||||
% Test class for FFE_DFE
|
||||
classdef FFE_DFE_test < IMDDTestCase
|
||||
% Auto-generated placeholder for FFE_DFE.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/FFE_DFE.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for FFE_DFE
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for FFE_DFE are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef FFE_FFDCAVG_test < matlab.unittest.TestCase
|
||||
% Test class for FFE_FFDCAVG
|
||||
classdef FFE_FFDCAVG_test < IMDDTestCase
|
||||
% Auto-generated placeholder for FFE_FFDCAVG.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/FFE_FFDCAVG.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for FFE_FFDCAVG
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for FFE_FFDCAVG are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef FFE_Kalman_Feedback_test < matlab.unittest.TestCase
|
||||
% Test class for FFE_Kalman_Feedback
|
||||
classdef FFE_Kalman_Feedback_test < IMDDTestCase
|
||||
% Auto-generated placeholder for FFE_Kalman_Feedback.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/FFE_Kalman_Feedback.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for FFE_Kalman_Feedback
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for FFE_Kalman_Feedback are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef FFE_Kalman_test < matlab.unittest.TestCase
|
||||
% Test class for FFE_Kalman
|
||||
classdef FFE_Kalman_test < IMDDTestCase
|
||||
% Auto-generated placeholder for FFE_Kalman.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/FFE_Kalman.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for FFE_Kalman
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for FFE_Kalman are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef FFE_MLSE_test < matlab.unittest.TestCase
|
||||
% Test class for FFE_MLSE
|
||||
classdef FFE_MLSE_test < IMDDTestCase
|
||||
% Auto-generated placeholder for FFE_MLSE.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/FFE_MLSE.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for FFE_MLSE
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for FFE_MLSE are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef FFE_adaptive_decision_test < matlab.unittest.TestCase
|
||||
% Test class for FFE_adaptive_decision
|
||||
classdef FFE_adaptive_decision_test < IMDDTestCase
|
||||
% Auto-generated placeholder for FFE_adaptive_decision.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/FFE_adaptive_decision.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for FFE_adaptive_decision
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for FFE_adaptive_decision are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,78 @@
|
||||
classdef FFE_test < matlab.unittest.TestCase
|
||||
% Test class for FFE
|
||||
classdef FFE_test < IMDDTestCase
|
||||
methods (Test, TestTags = {'unit', 'fast', 'dsp', 'ffe'})
|
||||
function constructorStoresDefaultsAndInitialState(testCase)
|
||||
ffe = FFE();
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for FFE
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
testCase.verifyEqual(ffe.sps, 2);
|
||||
testCase.verifyEqual(ffe.order, 15);
|
||||
testCase.verifyEqual(ffe.len_tr, 4096);
|
||||
testCase.verifyEqual(ffe.mu_tr, 0);
|
||||
testCase.verifyEqual(ffe.epochs_tr, 5);
|
||||
testCase.verifyEqual(ffe.adaption_technique, adaption_method.lms);
|
||||
testCase.verifyEqual(ffe.dd_mode, 1);
|
||||
testCase.verifyEqual(ffe.mu_dd, 1e-5);
|
||||
testCase.verifyEqual(ffe.epochs_dd, 5);
|
||||
testCase.verifyFalse(ffe.decide);
|
||||
testCase.verifyEqual(ffe.e, zeros(ffe.order, 1));
|
||||
testCase.verifyEqual(ffe.error, 0);
|
||||
end
|
||||
|
||||
function noUpdateModeKeepsWeightsAtZeroAndPreservesSamplingRate(testCase)
|
||||
x = makeSignal([-1; 1; -1; 1], 32e9);
|
||||
d = makeSignal([-1; 1; -1; 1], 8e9);
|
||||
|
||||
ffe = FFE( ...
|
||||
"sps", 1, ...
|
||||
"order", 1, ...
|
||||
"len_tr", length(x), ...
|
||||
"mu_tr", 0, ...
|
||||
"epochs_tr", 1, ...
|
||||
"mu_dd", 0, ...
|
||||
"epochs_dd", 1, ...
|
||||
"dd_mode", 0, ...
|
||||
"decide", false, ...
|
||||
"adaption_technique", adaption_method.lms);
|
||||
|
||||
[y, noi] = ffe.process(x, d);
|
||||
|
||||
testCase.verifyEqual(ffe.e, 0);
|
||||
testCase.verifyEqual(ffe.e_tr, 0);
|
||||
testCase.verifyEqual(y.signal, zeros(size(x.signal)), "AbsTol", 1e-12);
|
||||
testCase.verifyEqual(y.fs, d.fs);
|
||||
testCase.verifyEqual(noi.signal, -d.signal, "AbsTol", 1e-12);
|
||||
testCase.verifyEqual(length(y.signal), length(x.signal));
|
||||
end
|
||||
|
||||
function trainingModeLearnsFromTinySyntheticChannel(testCase)
|
||||
x = makeSignal([1; -1; 1; -1], 16e9);
|
||||
d = makeSignal([1; -1; 1; -1], 4e9);
|
||||
|
||||
ffe = FFE( ...
|
||||
"sps", 1, ...
|
||||
"order", 1, ...
|
||||
"len_tr", length(x), ...
|
||||
"mu_tr", 0.5, ...
|
||||
"epochs_tr", 1, ...
|
||||
"mu_dd", 0, ...
|
||||
"epochs_dd", 1, ...
|
||||
"dd_mode", 0, ...
|
||||
"decide", false, ...
|
||||
"adaption_technique", adaption_method.lms);
|
||||
|
||||
[y, noi] = ffe.process(x, d);
|
||||
|
||||
testCase.verifyEqual(y.fs, d.fs);
|
||||
testCase.verifyClass(y, 'Informationsignal');
|
||||
testCase.verifyClass(noi, 'Informationsignal');
|
||||
testCase.verifyNotEqual(ffe.e, 0);
|
||||
testCase.verifyNotEqual(ffe.e_tr, 0);
|
||||
testCase.verifyNotEqual(y.signal, zeros(size(x.signal)));
|
||||
testCase.verifyEqual(length(y.signal), length(x.signal));
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function sig = makeSignal(values, fs)
|
||||
base = Signal(values);
|
||||
sig = Informationsignal(values, "fs", fs, "logbook", base.logbook);
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef ML_MLSE_GPU_test < matlab.unittest.TestCase
|
||||
% Test class for ML_MLSE_GPU
|
||||
classdef ML_MLSE_GPU_test < IMDDTestCase
|
||||
% Auto-generated placeholder for ML_MLSE_GPU.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/ML_MLSE_GPU.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for ML_MLSE_GPU
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for ML_MLSE_GPU are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef ML_MLSE_test < matlab.unittest.TestCase
|
||||
% Test class for ML_MLSE
|
||||
classdef ML_MLSE_test < IMDDTestCase
|
||||
% Auto-generated placeholder for ML_MLSE.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/ML_MLSE.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for ML_MLSE
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for ML_MLSE are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef Postfilter_test < matlab.unittest.TestCase
|
||||
% Test class for Postfilter
|
||||
classdef Postfilter_test < IMDDTestCase
|
||||
% Auto-generated placeholder for Postfilter.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/Postfilter.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for Postfilter
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for Postfilter are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
classdef VNLE_test < matlab.unittest.TestCase
|
||||
% Test class for VNLE
|
||||
classdef VNLE_test < IMDDTestCase
|
||||
% Auto-generated placeholder for VNLE.
|
||||
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/04_DSP/Equalizer/VNLE.m
|
||||
|
||||
methods (Test)
|
||||
function testExample(testCase)
|
||||
% Example test case for VNLE
|
||||
% Add your test code here
|
||||
testCase.verifyTrue(true);
|
||||
methods (Test, TestTags = {'placeholder', 'todo'})
|
||||
function testNotImplemented(testCase)
|
||||
testCase.assumeFail("Tests for VNLE are not implemented yet.");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user