Mercurial > repos > public > sbplib
comparison assertSize.m @ 988:a72038b1f709
Fix bug in assertSize where dimensions didn't have to match
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 08 Jan 2019 15:00:12 +0100 |
parents | dec0447cbf2c |
children |
comparison
equal
deleted
inserted
replaced
987:1d70f29c7ab2 | 988:a72038b1f709 |
---|---|
1 % Assert that array A has the size s. | 1 % Assert that array A has the size s. |
2 function assertSize(A,varargin) | 2 function assertSize(A,varargin) |
3 if length(varargin) == 1 | 3 if length(varargin) == 1 |
4 s = varargin{1}; | 4 s = varargin{1}; |
5 errmsg = sprintf('Expected %s to have size %s, got: %s',inputname(1), toString(s), toString(size(A))); | 5 assert(length(size(A)) == length(s), sprintf('Expected ''%s'' to have dimension %d, got %d', inputname(1), length(s), length(size(A)))); |
6 assert(all(size(A) == s), errmsg); | 6 assert(all(size(A) == s), sprintf('Expected ''%s'' to have size %s, got: %s',inputname(1), toString(s), toString(size(A)))); |
7 elseif length(varargin) == 2 | 7 elseif length(varargin) == 2 |
8 dim = varargin{1}; | 8 dim = varargin{1}; |
9 s = varargin{2}; | 9 s = varargin{2}; |
10 | 10 |
11 errmsg = sprintf('Expected %s to have size %d along dimension %d, got: %d',inputname(1), s, dim, size(A,dim)); | 11 errmsg = sprintf('Expected ''%s'' to have size %d along dimension %d, got: %d',inputname(1), s, dim, size(A,dim)); |
12 assert(size(A,dim) == s, errmsg); | 12 assert(size(A,dim) == s, errmsg); |
13 else | 13 else |
14 error('Expected 2 or 3 arguments to assertSize()'); | 14 error('Expected 2 or 3 arguments to assertSize()'); |
15 end | 15 end |
16 end | 16 end |