Mercurial > repos > public > sbplib
annotate assertStructFields.m @ 1347:ac54767ae1fb feature/poroelastic tip
Add interface, not fully compatible.
author | Martin Almquist <martin.almquist@it.uu.se> |
---|---|
date | Tue, 30 Apr 2024 14:58:35 +0200 |
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 |