changeset 192:3cedd5a596bb feature/grids

Added tests for boundary group.
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 06 Apr 2016 12:54:52 +0200
parents 7c1d3fc33f90
children 6fb354955c37
files +multiblock/BoundaryGroup.m +multiblock/BoundaryGroupTest.m
diffstat 2 files changed, 33 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/+multiblock/BoundaryGroup.m	Mon Apr 04 18:23:50 2016 +0200
+++ b/+multiblock/BoundaryGroup.m	Wed Apr 06 12:54:52 2016 +0200
@@ -19,6 +19,9 @@
             obj.blockIDs = [];
             obj.names = {};
             for i = 1:length(varargin)
+                if ~iscell(varargin{i}) || ~all(size(varargin{i}) == [1 2])
+                    error('multiblock:BoundaryGroup:BoundaryGroup:InvalidInput', 'Inputs must be 1x2 cell arrays');
+                end
                 obj.blockIDs(i) = varargin{i}{1};
                 obj.names{i} = varargin{i}{2};
             end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/+multiblock/BoundaryGroupTest.m	Wed Apr 06 12:54:52 2016 +0200
@@ -0,0 +1,30 @@
+function tests = BoundaryGroupTest()
+    tests = functiontests(localfunctions);
+end
+
+function testCreation(testCase)
+    in = {{3,'n'},{2,'hoho'},{1,'s'}};
+
+    blockIDs = [3 2 1];
+    names = {'n', 'hoho', 's'};
+
+    bg = multiblock.BoundaryGroup(in{:});
+    testCase.verifyEqual(bg.blockIDs, blockIDs);
+    testCase.verifyEqual(bg.names, names);
+end
+
+function testInputError(testCase)
+    in = {
+        {'n', 's'},
+        {{3,'n'},{2,2,'hoho'},{1,'s'}},
+    };
+
+    out = {
+        'multiblock:BoundaryGroup:BoundaryGroup:InvalidInput',
+        'multiblock:BoundaryGroup:BoundaryGroup:InvalidInput',
+    };
+
+    for i = 1:length(in)
+        testCase.verifyError(@()multiblock.BoundaryGroup(in{i}{:}), out{i});
+    end
+end
\ No newline at end of file