changeset 768:dec0447cbf2c feature/grids

Make assertSize more general, allow picking dimensions
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 26 Jun 2018 14:07:35 +0200
parents 97f24d151a6e
children e958ed76e484
files assertSize.m
diffstat 1 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
diff -r 97f24d151a6e -r dec0447cbf2c assertSize.m
--- a/assertSize.m	Tue Jun 26 14:02:31 2018 +0200
+++ b/assertSize.m	Tue Jun 26 14:07:35 2018 +0200
@@ -1,5 +1,16 @@
 % Assert that array A has the size s.
-function assertSize(A,s)
-    errmsg = sprintf('Expected %s to have size %s, got: %s',inputname(1), toString(s), toString(size(A)));
-    assert(all(size(A) == s),errmsg);
+function assertSize(A,varargin)
+    if length(varargin) == 1
+        s = varargin{1};
+        errmsg = sprintf('Expected %s to have size %s, got: %s',inputname(1), toString(s), toString(size(A)));
+        assert(all(size(A) == s), errmsg);
+    elseif length(varargin) == 2
+        dim = varargin{1};
+        s = varargin{2};
+
+        errmsg = sprintf('Expected %s to have size %d along dimension %d, got: %d',inputname(1), s, dim, size(A,dim));
+        assert(size(A,dim) == s, errmsg);
+    else
+        error('Expected 2 or 3 arguments to assertSize()');
+    end
 end