Strengthen WDM and IM/DD optical tests

This commit is contained in:
Silas Oettinghaus
2026-03-25 08:07:31 +01:00
parent 0e6be4a584
commit 76be57515d
26 changed files with 1606 additions and 566 deletions

View File

@@ -1,10 +1,42 @@
classdef Signalgenerator_test < IMDDTestCase
% Auto-generated placeholder for Signalgenerator.
% Target: C:/Users/Silas/Documents/MATLAB/imdd_simulation/Classes/01_transmit/Signalgenerator.m
methods (Test, TestTags = {'unit', 'fast', 'transmit', 'signalgenerator'})
function constructorStoresDefaultConfiguration(testCase)
gen = Signalgenerator();
methods (Test, TestTags = {'placeholder', 'todo'})
function testNotImplemented(testCase)
testCase.assumeFail("Tests for Signalgenerator are not implemented yet.");
testCase.verifyEqual(gen.form, signalform.sine);
testCase.verifyEqual(gen.length, 1024);
testCase.verifyEqual(gen.fs, 1000);
testCase.verifyEqual(gen.fsig, 50);
end
function buildSignalProducesExpectedSineWave(testCase)
gen = Signalgenerator( ...
"form", signalform.sine, ...
"length", 4, ...
"fs", 4, ...
"fsig", 1);
signal = gen.build_signal();
expected = [0 1 0 -1];
testCase.verifySize(signal, [1 4]);
testCase.verifyEqual(signal, expected, "AbsTol", 1e-12);
end
function processWrapsGeneratedSignalInInformationsignal(testCase)
gen = Signalgenerator( ...
"form", signalform.sine, ...
"length", 4, ...
"fs", 4, ...
"fsig", 1);
out = gen.process();
testCase.verifyClass(out, 'Informationsignal');
testCase.verifySize(out.signal, [1 4]);
testCase.verifyEqual(out.fs, 4);
testCase.verifyEqual(out.signal, [0 1 0 -1], "AbsTol", 1e-12);
testCase.verifyEqual(height(out.logbook), 1);
end
end
end