changeset 526:d8833f0a9f1a feature/boundaryGroup

Change the BoundaryGroup class into a simpler cellarray style
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 03 Aug 2017 09:55:59 +0200
parents 3011f9a28ac8
children 763d50caddf3
files +multiblock/BoundaryGroup.m +multiblock/BoundaryGroupTest.m
diffstat 2 files changed, 18 insertions(+), 70 deletions(-) [+]
line wrap: on
line diff
diff -r 3011f9a28ac8 -r d8833f0a9f1a +multiblock/BoundaryGroup.m
--- a/+multiblock/BoundaryGroup.m	Wed Aug 02 19:26:39 2017 +0200
+++ b/+multiblock/BoundaryGroup.m	Thu Aug 03 09:55:59 2017 +0200
@@ -1,51 +1,29 @@
 % BoundaryGroup defines a boundary grouping in a multiblock grid.
-classdef BoundaryGroup
-    properties
-        blockIDs
-        names
-    end
-
+classdef BoundaryGroup < Cell
     methods
-        function obj = BoundaryGroup(varargin)
-            % Input arguemnts are arbitrary number or 1x2 cell arrays
-            % representing each boundary in the group.
-            % The 1st element of the cell array is an integer defining which grid it belongs to.
-            % The 2nd element of the cell array is the name of the boundary within the block.
-            %
-            % Ex:
-            %   bg = multiblock.BoundaryGroup({1,'n'},{1,'s'},{2,'s'})
-
-
-            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
+        function obj = BoundaryGroup(data)
+            obj = obj@Cell(data);
         end
 
-        function display(obj, name)
+        % function display(obj, name)
 
-            disp(' ')
-            disp([name, ' ='])
-            disp(' ')
+        %     disp(' ')
+        %     disp([name, ' ='])
+        %     disp(' ')
 
-            if length(obj.names) == 1
-                fprintf('    {}\n\n')
-                return
-            end
+        %     if length(obj.names) == 1
+        %         fprintf('    {}\n\n')
+        %         return
+        %     end
 
-            fprintf('    {')
+        %     fprintf('    {')
 
-            fprintf('%d:%s', obj.blockIDs(1), obj.names{1})
-            for i = 2:length(obj.names)
-                fprintf(', %d:%s', obj.blockIDs(i), obj.names{i});
-            end
+        %     fprintf('%d:%s', obj.blockIDs(1), obj.names{1})
+        %     for i = 2:length(obj.names)
+        %         fprintf(', %d:%s', obj.blockIDs(i), obj.names{i});
+        %     end
 
-            fprintf('}\n\n')
-        end
+        %     fprintf('}\n\n')
+        % end
     end
 end
\ No newline at end of file
diff -r 3011f9a28ac8 -r d8833f0a9f1a +multiblock/BoundaryGroupTest.m
--- a/+multiblock/BoundaryGroupTest.m	Wed Aug 02 19:26:39 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-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