annotate MapTest.m @ 958:72cd29107a9a feature/poroelastic

Temporary changes in multiblock.DiffOp. Change traction operators in Elastic2dvariable to be true boundary operators. But adjoint FD conv test fails for dirichlet BC so need to debug!
author Martin Almquist <malmquist@stanford.edu>
date Wed, 05 Dec 2018 18:58:10 -0800
parents effd75b113ba
children a6c5e73ff44e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
417
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function tests = MatTest()
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 tests = functiontests(localfunctions);
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 function kvp = getKeyValuePairs()
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 kvp = {
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 {1,3},1;
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 struct(), [1; 3; 4];
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 [1,2; 4 3], struct();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 'Hej', struct('lol', 6);
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 0, 'Nej';
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 };
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 function testSetAndGet(testCase)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 keyValuePairs = getKeyValuePairs();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 map = Map();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 % Insert
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 for i = 1:length(keyValuePairs)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 map(keyValuePairs{i,1}) = keyValuePairs{i,2};
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 % Validate output
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 for i = 1:length(keyValuePairs)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 v = map(keyValuePairs{i,1});
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 testCase.verifyEqual(v, keyValuePairs{i,2});
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 function map = exampleMap()
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 keyValuePairs = getKeyValuePairs();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35 map = Map();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37 % Insert
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
38 for i = 1:length(keyValuePairs)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39 map(keyValuePairs{i,1}) = keyValuePairs{i,2};
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
40 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
41 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
42
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
43 function testLength(testCase)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44 map = Map();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
45 testCase.verifyEqual(map.length, 0);
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
46
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
47 map = exampleMap();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
48 testCase.verifyEqual(map.length, 5)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
49 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
50
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
51
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52 function testIsKey(testCase)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53 map = exampleMap();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
55 keyValuePairs = getKeyValuePairs();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
56 keys = keyValuePairs(:,1);
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
57
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
58 for i = 1:length(keys)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
59 testCase.verifyTrue(map.isKey(keys{i}));
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
60 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
61
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
62 notKeys = {
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
63 'hej',
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
64 [],
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
65 1,
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
66 {2,5},
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
67 };
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
68
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
69 for i = 1:length(notKeys)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
70 testCase.verifyFalse(map.isKey(notKeys{i}));
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
71 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
72 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
73
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
74
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
75 function testRemove(testCase)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
76 map = exampleMap();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
77
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
78 remove(map, struct());
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
79
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
80 testCase.verifyFalse(map.isKey(struct()));
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
81 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
82
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
83 % function testValues(testCase)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
84 % keyValuePairs = getKeyValuePairs();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
85
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
86 % map = exampleMap();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
87
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
88 % testCase.verifyEqual(values(map), keyValuePairs(:,2)');
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
89 % end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
90
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
91 % function testKeys(testCase)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
92 % keyValuePairs = getKeyValuePairs();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
93
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
94 % map = exampleMap();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
95
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
96 % testCase.verifyEqual(keys(map), keyValuePairs(:,1)');
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
97 % end