annotate assertStructFields.m @ 954:e8d356b8bc25 feature/utux2D

Close branch feature/utux2D
author Jonatan Werpers <jonatan.werpers@it.uu.se>
date Mon, 10 Dec 2018 08:29:41 +0000
parents c596122374df
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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