Skip to content

Commit f620894

Browse files
committed
update all the tests to be used with mox unit
1 parent d815e9e commit f620894

10 files changed

+326
-206
lines changed

tests/test_createBoldJson.m

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,26 @@
1-
function test_createBoldJson()
1+
function test_suite = test_createBoldJson %#ok<*STOUT>
2+
try % assignment of 'localfunctions' is necessary in Matlab >= 2016
3+
test_functions = localfunctions(); %#ok<*NASGU>
4+
catch % no problem; early Matlab versions can use initTestSuite fine
5+
end
6+
initTestSuite;
7+
end
8+
9+
function test_createBoldJsonBasic()
210

311
outputDir = fullfile(fileparts(mfilename('fullpath')), '..', 'output');
412

5-
%%% set up part
13+
%% set up
614

15+
cfg.verbose = false;
16+
717
cfg.subject.subjectNb = 1;
818
cfg.subject.runNb = 1;
19+
920
cfg.task.name = 'testtask';
21+
1022
cfg.dir.output = outputDir;
1123

12-
% cfg = struct();
1324
cfg.testingDevice = 'mri';
1425

1526
cfg = createFilename(cfg);
@@ -18,14 +29,13 @@ function test_createBoldJson()
1829

1930
createBoldJson(cfg);
2031

21-
%%% test part
22-
23-
% test data
32+
%% data to test against
2433
funcDir = fullfile(outputDir, 'source', 'sub-001', 'ses-001', 'func');
34+
2535
eventFilename = ['sub-001_ses-001_task-testtask_run-001_bold_date-' ...
2636
cfg.fileName.date '.json'];
2737

28-
% check that the file has the right path and name
29-
assert(exist(fullfile(funcDir, eventFilename), 'file') == 2);
38+
%% test
39+
assertTrue(exist(fullfile(funcDir, eventFilename), 'file') == 2);
3040

3141
end

tests/test_createDataDictionary.m

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
1-
function test_createDataDictionary()
1+
function test_suite = test_createDataDictionary %#ok<*STOUT>
2+
try % assignment of 'localfunctions' is necessary in Matlab >= 2016
3+
test_functions = localfunctions(); %#ok<*NASGU>
4+
catch % no problem; early Matlab versions can use initTestSuite fine
5+
end
6+
initTestSuite;
7+
end
28

3-
clear;
9+
function test_createDataDictionaryBasic()
410

511
outputDir = fullfile(fileparts(mfilename('fullpath')), '..', 'output');
612

7-
%%% set up part
13+
%% set up
814

15+
cfg.verbose = false;
916
cfg.subject.subjectNb = 1;
1017
cfg.subject.runNb = 1;
1118
cfg.task.name = 'testtask';
@@ -21,20 +28,24 @@ function test_createDataDictionary()
2128

2229
createDataDictionary(cfg, logFile);
2330

24-
%%% test part
25-
26-
% test data
31+
%% check that the file has the right path and name
32+
33+
% data to test against
2734
funcDir = fullfile(outputDir, 'source', 'sub-001', 'ses-001', 'func');
2835
jsonFilename = ['sub-001_ses-001_task-testtask_run-001_events_date-' ...
2936
cfg.fileName.date '.json'];
3037

31-
% check that the file has the right path and name
32-
assert(exist(fullfile(funcDir, jsonFilename), 'file') == 2);
38+
% test
39+
assertTrue(exist(fullfile(funcDir, jsonFilename), 'file') == 2);
3340

34-
% check content
35-
expectedStruct = bids.util.jsondecode(fullfile(pwd, 'testData', 'eventsDataDictionary.json'));
41+
%% check content
3642
actualStruct = bids.util.jsondecode(fullfile(funcDir, jsonFilename));
37-
38-
assert(isequal(expectedStruct, actualStruct));
43+
44+
% data to test against
45+
expectedStruct = bids.util.jsondecode(...
46+
fullfile(pwd, 'testData', 'eventsDataDictionary.json'));
47+
48+
% test
49+
assertTrue(isequal(expectedStruct, actualStruct));
3950

4051
end
Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
1-
function test_createDatasetDescription()
1+
function test_suite = test_createDatasetDescription %#ok<*STOUT>
2+
try % assignment of 'localfunctions' is necessary in Matlab >= 2016
3+
test_functions = localfunctions(); %#ok<*NASGU>
4+
catch % no problem; early Matlab versions can use initTestSuite fine
5+
end
6+
initTestSuite;
7+
end
8+
9+
function test_createDatasetDescriptionBasic()
210

311
outputDir = fullfile(fileparts(mfilename('fullpath')), '..', 'output');
412

5-
%%% set up part
13+
%% set up
614

715
cfg.dir.output = outputDir;
16+
17+
cfg.verbose = false;
818

919
cfg.bids.datasetDescription.json.Name = 'dummy_dataset';
1020
cfg.bids.datasetDescription.json.BIDSVersion = '1.0.0';
@@ -15,13 +25,11 @@ function test_createDatasetDescription()
1525

1626
createDatasetDescription(cfg);
1727

18-
%%% test part
19-
20-
% test data
28+
%% data to test against
2129
directory = fullfile(outputDir, 'source');
2230
filename = 'dataset_description.json';
2331

24-
% check that the file has the right path and name
25-
assert(exist(fullfile(directory, filename), 'file') == 2);
32+
%% test
33+
assertTrue(exist(fullfile(directory, filename), 'file') == 2);
2634

2735
end

tests/test_createFilename.m

Lines changed: 48 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,60 @@
1-
function test_createFilename()
2-
% test for filename creation and their directories
1+
function test_suite = test_createFilename %#ok<*STOUT>
2+
try % assignment of 'localfunctions' is necessary in Matlab >= 2016
3+
test_functions = localfunctions(); %#ok<*NASGU>
4+
catch % no problem; early Matlab versions can use initTestSuite fine
5+
end
6+
initTestSuite;
7+
end
38

4-
%% PC
9+
function test_createFilenameBasic()
510

611
outputDir = fullfile(fileparts(mfilename('fullpath')), '..', 'output');
712

8-
%%% set up part
13+
%% set up
914

15+
cfg.verbose = false;
1016
cfg.subject.subjectNb = 1;
1117
cfg.subject.runNb = 1;
1218
cfg.task.name = 'test task';
1319
cfg.dir.output = outputDir;
1420

15-
%%% run part
1621
cfg = createFilename(cfg);
1722

18-
%%% test part
19-
20-
% test data
23+
%% data to test against
2124
behDir = fullfile(outputDir, 'source', 'sub-001', 'ses-001', 'beh');
25+
2226
eyetrackerDir = fullfile(outputDir, 'source', 'sub-001', 'ses-001', 'eyetracker');
27+
2328
eventFilename = ['sub-001_ses-001_task-testTask_run-001_events_date-'...
2429
cfg.fileName.date '.tsv'];
30+
2531
stimFilename = ['sub-001_ses-001_task-testTask_run-001_stim_date-'...
2632
cfg.fileName.date '.tsv'];
2733

34+
%% test
35+
2836
% make sure the beh dir is created
29-
assert(exist(behDir, 'dir') == 7);
37+
assertTrue(exist(behDir, 'dir') == 7);
3038

3139
% make sure the eyetracker dir is not created
32-
assert(exist(eyetrackerDir, 'dir') == 0);
40+
assertTrue(exist(eyetrackerDir, 'dir') == 0);
3341

3442
% make sure the events filename is created
35-
assert(strcmp(cfg.fileName.events, eventFilename));
43+
assertEqual(cfg.fileName.events, eventFilename);
3644

3745
% make sure the stim filename is created
38-
assert(strcmp(cfg.fileName.stim, stimFilename));
46+
assertEqual(cfg.fileName.stim, stimFilename);
3947

40-
%% fMRI and eye tracker
41-
fprintf('\n--------------------------------------------------------------------');
48+
49+
end
4250

43-
clear;
51+
function test_createFilenameMriEyetracker()
4452

4553
outputDir = fullfile(fileparts(mfilename('fullpath')), '..', 'output');
4654

47-
%%% set up part
55+
%% set up
4856

57+
cfg.verbose = false;
4958
cfg.subject.subjectGrp = 'ctrl';
5059
cfg.subject.subjectNb = 2;
5160
cfg.subject.sessionNb = 2;
@@ -58,37 +67,41 @@ function test_createFilename()
5867

5968
cfg = createFilename(cfg);
6069

61-
%%% test part
62-
63-
% test data
70+
%% data to test against
71+
6472
funcDir = fullfile(outputDir, 'source', 'sub-ctrl002', 'ses-002', 'func');
73+
6574
eyetrackerDir = fullfile(outputDir, 'source', 'sub-ctrl002', 'ses-002', 'eyetracker');
75+
6676
baseFilename = 'sub-ctrl002_ses-002_task-testTask';
77+
6778
eventFilename = ['sub-ctrl002_ses-002_task-testTask_run-002_events_date-' ...
6879
cfg.fileName.date '.tsv'];
80+
6981
eyetrackerFilename = ['sub-ctrl002_ses-002_task-testTask_run-002_eyetrack_date-' ...
7082
cfg.fileName.date '.edf'];
7183

84+
%% tests
7285
% make sure the func dir is created
73-
assert(exist(funcDir, 'dir') == 7);
86+
assertTrue(exist(funcDir, 'dir') == 7);
7487

7588
% make sure the eyetracker dir is created
76-
assert(exist(eyetrackerDir, 'dir') == 7);
89+
assertTrue(exist(eyetrackerDir, 'dir') == 7);
7790

7891
% make sure the right filenames are created
79-
assert(strcmp(cfg.fileName.base, baseFilename));
80-
assert(strcmp(cfg.fileName.events, eventFilename));
81-
assert(strcmp(cfg.fileName.eyetracker, eyetrackerFilename));
82-
83-
%% EEG
84-
fprintf('\n--------------------------------------------------------------------');
85-
86-
clear;
92+
assertEqual(cfg.fileName.base, baseFilename);
93+
assertEqual(cfg.fileName.events, eventFilename);
94+
assertEqual(cfg.fileName.eyetracker, eyetrackerFilename);
95+
96+
end
97+
98+
function test_createFilenameEeg()
8799

88100
outputDir = fullfile(fileparts(mfilename('fullpath')), '..', 'output');
89101

90-
%%% set up part
102+
%% set up
91103

104+
cfg.verbose = false;
92105
cfg.subject.subjectGrp = 'blind';
93106
cfg.subject.subjectNb = 3;
94107
cfg.subject.sessionNb = 1;
@@ -100,10 +113,11 @@ function test_createFilename()
100113

101114
cfg = createFilename(cfg);
102115

103-
%%% test part
104-
105-
% test data
116+
%% data to test against
106117
eegDir = fullfile(outputDir, 'source', 'sub-blind003', 'ses-001', 'eeg');
107118

119+
%% test
108120
% make sure the func dir is created
109-
assert(exist(eegDir, 'dir') == 7);
121+
assertTrue(exist(eegDir, 'dir') == 7);
122+
123+
end

tests/test_createTaskName.m

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,49 @@
1-
function test_createTaskName()
2-
%
1+
function test_suite = test_createTaskName %#ok<*STOUT>
2+
try % assignment of 'localfunctions' is necessary in Matlab >= 2016
3+
test_functions = localfunctions(); %#ok<*NASGU>
4+
catch % no problem; early Matlab versions can use initTestSuite fine
5+
end
6+
initTestSuite;
7+
end
38

4-
taskName = '&|@#-_(§!{})[]ù%£+/=:;.?,\<> visual task';
9+
function test_createTaskNameRemoveInvalidCharacters()
510

11+
%% set up
12+
13+
taskName = '&|@#-_(§!{})[]ù%£+/=:;.?,\<> visual task';
14+
615
[taskName, taskNameValid] = createTaskName(taskName);
716

817
[unvalidCharacters] = regexp(taskNameValid, '[^a-zA-Z0-9]');
918

10-
assert(isempty(unvalidCharacters));
19+
%% test
20+
assertTrue(isempty(unvalidCharacters));
1121

22+
%% set up
1223
taskName = ' 09 visual task';
1324

1425
[taskName, taskNameValid] = createTaskName(taskName);
1526

1627
[unvalidCharacters] = regexp(taskNameValid, '[^a-zA-Z0-9]');
1728

18-
assert(isempty(unvalidCharacters));
29+
%% test
30+
assertTrue(isempty(unvalidCharacters));
1931

2032
taskName = 'foo bar';
2133
[taskName, taskNameValid] = createTaskName(taskName);
2234
assert(isequal(taskName, 'foo Bar'));
2335
assert(isequal(taskNameValid, 'fooBar'));
2436

2537
end
38+
39+
function test_createTaskNameCamelCase()
40+
41+
%% set up
42+
taskName = 'foo bar';
43+
[taskName, taskNameValid] = createTaskName(taskName);
44+
45+
%% test
46+
assertEqual(taskName, 'foo Bar');
47+
assertEqual(taskNameValid, 'fooBar');
48+
49+
end

0 commit comments

Comments
 (0)