Mercurial > repos > public > sbplib
annotate assertStructFields.m @ 1106:00203fcc962f
Merged in feature/dataspline (pull request #14)
Feature/dataspline
Approved-by: Jonatan Werpers <jonatan.werpers@it.uu.se>
Approved-by: Martin Almquist <malmquist@stanford.edu>
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Tue, 09 Apr 2019 20:24:21 +0000 |
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 |