Mercurial > repos > public > sbplib
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
--- 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
--- 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