view +blockmatrix/isDivisionTest.m @ 997:78db023a7fe3 feature/getBoundaryOp

Add getBoundaryOperator method to all 2d schemes, except obsolete Wave2dCurve and ElastiCurve, which needs a big makeover.
author Martin Almquist <malmquist@stanford.edu>
date Sat, 12 Jan 2019 11:57:50 -0800
parents a5f1b0267dba
children
line wrap: on
line source

function tests = isDivisionTest()
    tests = functiontests(localfunctions);
end

function testIsDivision(testCase)
    cases = {
        {[1 2] ,false},     % Must be a cell array
        {{[1 2 3]} ,false}, % Must have two vectors
        {{[],[]}, true}     % No blocks is a valid blockmatrix
        {{[1 2],[]} ,true},
        {{[],[1 2]} ,true},
        {{[2 2 2],[1 2]} ,true},
        {{[1 2],[1 0]} ,true},
        {{[0 2],[1 1]} ,true},
        {{[1 2],[1]} ,true},
        {{[1 2],[1], [1 2 3]} ,false},
    };

    for i = 1:length(cases)
        in = cases{i}{1};
        out = blockmatrix.isDivision(in);
        expected = cases{i}{2};
        testCase.verifyEqual(out, expected, sprintf('Should return %d for %s', expected, toString(in)));
    end
end