annotate +blockmatrix/getDivisionTest.m @ 379:ca73ee0623e5 feature/beams

Added an implicit central time stepping scheme.
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 09 Dec 2016 16:03:30 +0100
parents f0ef314e2070
children a5f1b0267dba
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
205
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function tests = getDivisionTest()
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 tests = functiontests(localfunctions);
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 end
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 function testError(testCase)
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 cases = {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 magic(3),
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 {[2 2 2];{1,2}},
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 {[2 2 2];[1 2]},
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 {[2; 2; 2], [1; 2]},
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 };
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 for i =1:length(cases)
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 testCase.verifyError(@()blockmatrix.getDivision(cases{i}), 'blockmatrix:getDivision:NotABlockmatrix')
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 end
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 end
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 function testGetDivision(testCase)
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 cases = {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 {},
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 {[],[]};
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 },
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 [2 2; 2 1], [1; 2];
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 [2 2], [1]
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 },
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 {[2 1], [2 1]}
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 },
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 [2 2; 2 1], [];
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 [2 2], [1]
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35 },
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36 {[2 1], [2 1]}
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37 },
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
38 {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39 {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
40 [2 2; 2 1], [];
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
41 [2 2], []
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
42 },
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
43 {[2 1], [2 0]}
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44 },
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
45 {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
46 {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
47 [2 2; 2 1], [1; 2];
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
48 [], []
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
49 },
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
50 {[2 0], [2 1]}
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
51 },
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52 {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53 {
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54 [2 2; 2 1];
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
55 [2 2]
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
56 },
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
57 {[2 1], 2}
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
58 },
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
59 };
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
60
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
61 for i = 1:length(cases)
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
62 in = cases{i}{1};
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
63 out = blockmatrix.getDivision(in);
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
64 expected = cases{i}{2};
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
65 testCase.verifyEqual(out, expected);
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
66 end
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
67 end
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
68
f0ef314e2070 blockmatrix: added function to calculate the block division for a given blockmatrix.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
69