Skip to content

Commit 2a0cdda

Browse files
authored
Refactors the parametersClass and updates tests (#274)
1 parent 4bcd7c0 commit 2a0cdda

File tree

22 files changed

+269
-381
lines changed

22 files changed

+269
-381
lines changed

API/projectClass/backgroundsClass.m

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@
2121
backgrounds
2222
end
2323

24-
properties(Dependent)
25-
showPriors
26-
end
27-
2824
properties(Access = private, Constant, Hidden)
2925
invalidTypeMessage = sprintf('Allowed type must be a allowedTypes enum or one of the following strings (%s)', ...
3026
strjoin(allowedTypes.values(), ', '))
@@ -45,14 +41,6 @@
4541
obj.backgrounds.typesAutoNameString = 'New background';
4642
obj.addBackground(startBackground{:});
4743
end
48-
49-
function flag = get.showPriors(obj)
50-
flag = obj.backgroundParams.showPriors;
51-
end
52-
53-
function set.showPriors(obj, value)
54-
obj.backgroundParams.showPriors = value;
55-
end
5644

5745
function names = getNames(obj)
5846
% Returns a N x 1 cell array of names of the backgrounds
@@ -150,12 +138,12 @@
150138
end
151139

152140
p = inputParser;
153-
addParameter(p, 'name', obj.backgrounds.varTable{row, 1}, @(x) isText(x));
141+
addParameter(p, 'name', obj.backgrounds.varTable{row, 1}, @isText);
154142
addParameter(p, 'type', obj.backgrounds.varTable{row, 2}, @(x) isText(x) || isenum(x));
155-
addParameter(p, 'value1', obj.backgrounds.varTable{row, 3}, @(x) isText(x));
156-
addParameter(p, 'value2', obj.backgrounds.varTable{row, 4}, @(x) isText(x));
157-
addParameter(p, 'value3', obj.backgrounds.varTable{row, 5}, @(x) isText(x));
158-
addParameter(p, 'value4', obj.backgrounds.varTable{row, 6}, @(x) isText(x));
143+
addParameter(p, 'value1', obj.backgrounds.varTable{row, 3}, @isText);
144+
addParameter(p, 'value2', obj.backgrounds.varTable{row, 4}, @isText);
145+
addParameter(p, 'value3', obj.backgrounds.varTable{row, 5}, @isText);
146+
addParameter(p, 'value4', obj.backgrounds.varTable{row, 6}, @isText);
159147

160148
parse(p, varargin{:});
161149
inputBlock = p.Results;
@@ -188,10 +176,17 @@
188176
obj.backgrounds.setValue(row, 'name', name);
189177
end
190178

191-
function displayBackgroundsObject(obj)
192-
% Displays the background parameters and background table.
179+
function displayBackgroundsObject(obj, showPriors)
180+
% Displays the background parameters and background table.
181+
% Optional showPriors to display the priors default is false
182+
%
183+
% background.displayBackgroundsObject(true);
184+
arguments
185+
obj
186+
showPriors {logical} = false
187+
end
193188
fprintf(' (a) Background Parameters: \n\n');
194-
obj.backgroundParams.displayTable;
189+
obj.backgroundParams.displayTable(showPriors);
195190

196191
fprintf(' (b) Backgrounds: \n\n')
197192
obj.backgrounds.displayTable;

API/projectClass/customFileClass.m

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -159,11 +159,11 @@ function delete(obj)
159159

160160
% Make an 'inputParser' object...
161161
p = inputParser;
162-
addParameter(p, 'name', obj.varTable{row, 1}{:}, @(x) isText(x))
163-
addParameter(p, 'filename', obj.varTable{row, 2}{:}, @(x) isText(x))
164-
addParameter(p, 'functionName', obj.varTable{row, 3}{:}, @(x) isText(x))
162+
addParameter(p, 'name', obj.varTable{row, 1}{:}, @isText)
163+
addParameter(p, 'filename', obj.varTable{row, 2}{:}, @isText)
164+
addParameter(p, 'functionName', obj.varTable{row, 3}{:}, @isText)
165165
addParameter(p, 'language', obj.varTable{row, 4}{:}, @(x) isText(x) || isenum(x))
166-
addParameter(p, 'path', obj.varTable{row, 5}{:}, @(x) isText(x))
166+
addParameter(p, 'path', obj.varTable{row, 5}{:}, @isText)
167167
parse(p, varargin{:});
168168

169169
results = p.Results;
@@ -179,33 +179,29 @@ function displayTable(obj)
179179
% Display the file table.
180180
%
181181
% customFiles.displayCustomFileObject()
182-
tab = obj.varTable;
183-
184182
sz = [1,5];
185183
displayVarTypes = {'string','string','string','string','string'};
186184
displayVarNames = {'Name','Filename','Function Name','Language','Path'};
187185
displayTable = table('Size',sz,'VariableTypes',displayVarTypes,'VariableNames',displayVarNames);
188186

189-
tableSize = size(tab);
187+
tableSize = size(obj.varTable);
190188

191189
if tableSize(1) == 0
192190
displayTable(1,:) = {'','','','',''};
193191
else
194192

195193
for i = 1:tableSize(1)
196-
thisRow = tab(i,:);
197-
198-
nameString = thisRow{1,1};
194+
nameString = obj.varTable{i,1};
199195

200-
thisCustomFile = thisRow{1,2}{:};
196+
thisCustomFile = obj.varTable{i,2}{:};
201197
if isempty(thisCustomFile)
202198
fileNameString = 'No File';
203199
else
204200
fileNameString = char(thisCustomFile);
205201
end
206202

207-
thisFunctionName = thisRow{1,3}{:};
208-
thisFileLanguage = thisRow{1,4}{:};
203+
thisFunctionName = obj.varTable{i,3}{:};
204+
thisFileLanguage = obj.varTable{i,4}{:};
209205
if isempty(thisFunctionName) || strcmp(thisFileLanguage, supportedLanguages.Matlab.value)
210206
functionNameString = '-';
211207
else
@@ -219,7 +215,7 @@ function displayTable(obj)
219215
fileLanguageString = thisFileLanguage;
220216
end
221217

222-
thisFilePath = thisRow{1,5}{:};
218+
thisFilePath = obj.varTable{1,5}{:};
223219
if isempty(thisFilePath)
224220
thisFilePath = 'pwd';
225221
else

API/projectClass/dataClass.m

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@
128128
% Data needs to be an [n x >3] array
129129
isDimsData = @(x) size(x,2) >= 3;
130130

131-
addParameter(p,'name', obj.varTable{row, 1}{:}, @(x) isText(x))
131+
addParameter(p,'name', obj.varTable{row, 1}{:}, @isText)
132132
addParameter(p,'data', obj.varTable{row, 2}{:}, @(x) isnumeric(x) && isDimsData(x))
133133
addParameter(p,'dataRange', obj.varTable{row, 3}{:}, @(x) isnumeric(x) && isDimsRanges(x))
134134
addParameter(p,'simRange', obj.varTable{row, 4}{:}, @(x) isnumeric(x) && isDimsRanges(x))
@@ -178,45 +178,40 @@ function displayTable(obj)
178178
% Displays the table object. The actual obj.varTable has the
179179
% format {string, cell, double, double}, but for display we
180180
% make a table that is all strings.
181-
tab = obj.varTable;
182-
183181
sz = [1,4];
184182
displayVarTypes = {'string','string','string','string'};
185183
displayVarNames = {'Name','Data','Data Range','Simulation Range'};
186184
displayTable = table('Size',sz,'VariableTypes',displayVarTypes,'VariableNames',displayVarNames);
187185

188-
tableSize = size(tab);
186+
tableSize = size(obj.varTable);
189187

190188
for i = 1:tableSize(1)
191-
thisRow = tab(i,:);
192-
193-
nameString = thisRow{1,1};
189+
nameString = obj.varTable{i, 1};
194190

195-
thisData = thisRow{1,2}{:};
191+
thisData = obj.varTable{i, 2}{:};
196192
if isempty(thisData)
197193
dataString = 'No Data';
198194
else
199195
dataSize = size(thisData);
200196
dataString = sprintf('Data array: [%d x %d]',dataSize(1),dataSize(2));
201197
end
202198

203-
thisDataRange = thisRow{1,3}{:};
199+
thisDataRange = obj.varTable{i, 3}{:};
204200
if isempty(thisDataRange)
205201
dataRangeString = '-';
206202
else
207203
dataRangeString = sprintf('[ %1.4f , %1.4f ]', thisDataRange(1), thisDataRange(2));
208204
end
209205

210-
thisSimRange = thisRow{1,4}{:};
206+
thisSimRange = obj.varTable{i, 4}{:};
211207
if isempty(thisSimRange)
212208
simRangeString = '-';
213209
else
214210
simRangeString = sprintf('[ %1.4f , %1.4f ]', thisSimRange(1), thisSimRange(2));
215211
end
216212

217213
newDisplayRow = {nameString, dataString, dataRangeString, simRangeString};
218-
displayTable(i,:) = newDisplayRow;
219-
214+
displayTable(i,:) = newDisplayRow;
220215
end
221216

222217
disp(displayTable);

API/projectClass/multiTypeTable.m

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@
6363
% column, value
6464
%
6565
% multiTable.setValue(1, 1, 'origin');
66-
tab = obj.varTable;
67-
6866
% First parameter needs to be either a row name or number
6967
rowNames = obj.varTable{:,1};
7068

@@ -93,9 +91,7 @@
9391
end
9492

9593
% Set the value
96-
tab(row, col) = {value};
97-
obj.varTable = tab;
98-
94+
obj.varTable(row, col) = {value};
9995
end
10096

10197
end

0 commit comments

Comments
 (0)