annotate assertStructFields.m @ 978:1a30dbe99c7c

Refactor CdiffImplicit to take input arguments in the right order
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 07 Jan 2019 16:15:49 +0100
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