Mercurial > repos > public > sbplib
view +blockmatrix/getDivisionTest.m @ 888:8732d6bd9890 feature/timesteppers
Add general Runge-Kutta class
- Add a general Runge-Kutta class which time integrates the solution based on coefficients obtained from a Butcher tableau
- Add butcher tableau which returns coefficents for the specified Runge-Kutta method
- Remove RungKutta4proper, since obsolete
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Thu, 15 Nov 2018 17:10:01 -0800 |
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