Mercurial > repos > public > sbplib
changeset 775:c596122374df feature/grids
Add a few assert functions
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 19 Jul 2018 09:40:05 -0700 |
parents | 66eb4a2bbb72 |
children | 23ad69a347dd |
files | assertIsMember.m assertStructFields.m |
diffstat | 2 files changed, 15 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/assertIsMember.m Thu Jul 19 09:40:05 2018 -0700 @@ -0,0 +1,3 @@ +function assertIsMember(v, allowed) + assert(ismember(v, allowed), 'Expected ''%s'' to be in the set %s', inputname(1), toString(allowed)); +end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/assertStructFields.m Thu Jul 19 09:40:05 2018 -0700 @@ -0,0 +1,12 @@ +% Assert that the struct s has the all the field names in the cell array fns. +function assertStructFields(s, fns) + assertType(s, 'struct'); + assertType(fns, 'cell'); + + ok = ismember(fns, fieldnames(s)); + if ~all(ok) + str1 = sprintf("'%s' must have the fields %s\n", inputname(1), toString(fns)); + str2 = sprintf("The following fields are missing: %s", toString(fns(~ok))); + error(str1 + str2); + end +end