Mercurial > repos > public > sbplib
annotate assertStructFields.m @ 1037:2d7ba44340d0 feature/burgers1d
Pass scheme specific parameters as cell array. This will enabale constructDiffOps to be more general. In addition, allow for schemes returning function handles as diffOps, which is currently how non-linear schemes such as Burgers1d are implemented.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Fri, 18 Jan 2019 09:02:02 +0100 |
parents | c596122374df |
children |
rev | line source |
---|---|
775
c596122374df
Add a few assert functions
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 % Assert that the struct s has the all the field names in the cell array fns. |
c596122374df
Add a few assert functions
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 function assertStructFields(s, fns) |
c596122374df
Add a few assert functions
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 assertType(s, 'struct'); |
c596122374df
Add a few assert functions
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 assertType(fns, 'cell'); |
c596122374df
Add a few assert functions
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 |
c596122374df
Add a few assert functions
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 ok = ismember(fns, fieldnames(s)); |
c596122374df
Add a few assert functions
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 if ~all(ok) |
c596122374df
Add a few assert functions
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 str1 = sprintf("'%s' must have the fields %s\n", inputname(1), toString(fns)); |
c596122374df
Add a few assert functions
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 str2 = sprintf("The following fields are missing: %s", toString(fns(~ok))); |
c596122374df
Add a few assert functions
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 error(str1 + str2); |
c596122374df
Add a few assert functions
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 end |
c596122374df
Add a few assert functions
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 end |