Mercurial > repos > public > sbplib
annotate assertStructFields.m @ 1322:412b8ceafbc6 feature/poroelastic
Add Zt to output args for Elastic2dCurvilinearAnisotropic.interfaceNormalTangential
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Sat, 24 Oct 2020 20:58:26 -0700 |
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 |