view +blockmatrix/getDivisionTest.m @ 1023:defc9d0cc1f2 feature/advectionRV

Remove incorrect assertion of the number of BC:s
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Mon, 07 Jan 2019 12:06:49 +0100
parents a5f1b0267dba
children
line wrap: on
line source

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

function testError(testCase)
    cases = {
        magic(3),
        {[2 2 2];{1,2}},
        {[2 2 2];[1 2]},
        {[2; 2; 2], [1; 2]},
    };

    for i =1:length(cases)
        testCase.verifyError(@()blockmatrix.getDivision(cases{i}), 'blockmatrix:getDivision:NotABlockmatrix')
    end
end

function testGetDivision(testCase)
    cases = {
        {
            {},
            {[],[]};
        },
        {
            {
            [2 2; 2 1], [1; 2];
            [2 2], [1]
            },
            {[2 1], [2 1]}
        },
        {
            {
            [2 2; 2 1], [];
            [2 2], [1]
            },
            {[2 1], [2 1]}
        },
        {
            {
            [2 2; 2 1], [];
            [2 2], []
            },
            {[2 1], [2 0]}
        },
        {
            {
            [2 2; 2 1], [1; 2];
            [], []
            },
            {[2 0], [2 1]}
        },
        {
            {
            [2 2; 2 1];
            [2 2]
            },
            {[2 1], 2}
        },
        {
            {zeros(3,0)},
            {3, 0},
        },
        {
            {zeros(3,0), zeros(3,0)},
            {3, [0, 0]},
        },
        {
            {zeros(3,0); zeros(2,0)},
            {[3 2],0},
        },
    };

    for i = 1:length(cases)
        in = cases{i}{1};
        out = blockmatrix.getDivision(in);
        expected = cases{i}{2};
        testCase.verifyEqual(out, expected);
    end
end