Mercurial > repos > public > sbplib
comparison +blockmatrix/isBlockmatrixTest.m @ 886:8894e9c49e40 feature/timesteppers
Merge with default for latest changes
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Thu, 15 Nov 2018 16:36:21 -0800 |
parents | f0f4ca946068 |
children |
comparison
equal
deleted
inserted
replaced
816:b5e5b195da1e | 886:8894e9c49e40 |
---|---|
1 function tests = isBlockmatrixTest() | |
2 tests = functiontests(localfunctions); | |
3 end | |
4 | |
5 function testIsBlockmatrix(testCase) | |
6 cases = { | |
7 { | |
8 magic(3), | |
9 false % Must be a cell array | |
10 } | |
11 { | |
12 {[2 2 2];{1,2}}, | |
13 false % All elements of the cell matrix must be regular matrices | |
14 }, | |
15 { | |
16 {[2 2 2];[1 2]}, | |
17 false % Row dimensions must match | |
18 }, | |
19 { | |
20 {[2; 2; 2], [1; 2]}, | |
21 false % Column dimensions must match | |
22 }, | |
23 { | |
24 {}, | |
25 true % An empty matrix is a matrix too | |
26 }, | |
27 { | |
28 { | |
29 [2 2; 2 1], [1; 2]; | |
30 [2 2], [1] | |
31 }, | |
32 true % A simple valid one | |
33 }, | |
34 { | |
35 { | |
36 [2 2; 2 1], []; | |
37 [2 2], [1] | |
38 }, | |
39 true % Empty blocks assumed to be zero and match dimensions | |
40 }, | |
41 { | |
42 { | |
43 [2 2; 2 1], []; | |
44 [2 2], [] | |
45 }, | |
46 true % Empty blocks allowed. | |
47 }, | |
48 { | |
49 { | |
50 [2 2; 2 1], [1; 2]; | |
51 [], [] | |
52 }, | |
53 true % Empty blocks allowed. | |
54 }, | |
55 { | |
56 blockmatrix.zero({[1 2 3],[2 3]}), | |
57 true % A zero block matrix is a block matrix | |
58 }, | |
59 }; | |
60 | |
61 for i = 1:length(cases) | |
62 in = cases{i}{1}; | |
63 out = blockmatrix.isBlockmatrix(in); | |
64 expected = cases{i}{2}; | |
65 testCase.verifyEqual(out, expected, sprintf('Should return %d for %s', expected, toString(in))); | |
66 end | |
67 end |