annotate assertStructFields.m @ 841:006defd0247b

Fix bug in +scheme.bcSetup outputs of parseDate(...) were not set correctly which caused a chrash in the case when no data was provided for the BC
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 20 Sep 2018 11:45:40 +0200
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