43 lines
1.5 KiB
Matlab
43 lines
1.5 KiB
Matlab
classdef Signalgenerator_test < IMDDTestCase
|
|
methods (Test, TestTags = {'unit', 'fast', 'transmit', 'signalgenerator'})
|
|
function constructorStoresDefaultConfiguration(testCase)
|
|
gen = Signalgenerator();
|
|
|
|
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
|