annotate MapTest.m @ 1277:dc0ef82e3ec7 feature/poroelastic

Add better getBoundary method in grid/Staggered
author Martin Almquist <malmquist@stanford.edu>
date Sun, 07 Jun 2020 11:26:40 -0700
parents a6c5e73ff44e
children
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
951
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
15 function testMultiKey(testCase)
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
16 map = Map
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
17
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
18 function setMultiKey()
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
19 map(1,2) = 1;
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
20 end
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
21
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
22 function getMultiKey()
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
23 v = map(1,2);
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
24 end
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
25
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
26 testCase.verifyError(@setMultiKey,'sbplib:Map:multipleKeys')
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
27 testCase.verifyError(@getMultiKey,'sbplib:Map:multipleKeys')
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
28 end
a6c5e73ff44e Better errors in Map()
Jonatan Werpers <jonatan@werpers.com>
parents: 417
diff changeset
29
417
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 function testSetAndGet(testCase)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 keyValuePairs = getKeyValuePairs();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 map = Map();
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 % Insert
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36 for i = 1:length(keyValuePairs)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37 map(keyValuePairs{i,1}) = keyValuePairs{i,2};
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
38 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
40 % Validate output
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
41 for i = 1:length(keyValuePairs)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
42 v = map(keyValuePairs{i,1});
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
43 testCase.verifyEqual(v, keyValuePairs{i,2});
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
45 end
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 function map = exampleMap()
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
48 keyValuePairs = getKeyValuePairs();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
49
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
50 map = Map();
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 % Insert
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53 for i = 1:length(keyValuePairs)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54 map(keyValuePairs{i,1}) = keyValuePairs{i,2};
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
55 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
56 end
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 function testLength(testCase)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
59 map = Map();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
60 testCase.verifyEqual(map.length, 0);
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 map = exampleMap();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
63 testCase.verifyEqual(map.length, 5)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
64 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
65
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
66
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
67 function testIsKey(testCase)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
68 map = exampleMap();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
69
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
70 keyValuePairs = getKeyValuePairs();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
71 keys = keyValuePairs(:,1);
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
72
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
73 for i = 1:length(keys)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
74 testCase.verifyTrue(map.isKey(keys{i}));
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
75 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
76
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
77 notKeys = {
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
78 'hej',
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 1,
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
81 {2,5},
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
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
84 for i = 1:length(notKeys)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
85 testCase.verifyFalse(map.isKey(notKeys{i}));
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
86 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
87 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
88
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
89
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
90 function testRemove(testCase)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
91 map = exampleMap();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
92
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
93 remove(map, struct());
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
94
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
95 testCase.verifyFalse(map.isKey(struct()));
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
96 end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
97
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
98 % function testValues(testCase)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
99 % keyValuePairs = getKeyValuePairs();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
100
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
101 % map = exampleMap();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
102
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
103 % testCase.verifyEqual(values(map), keyValuePairs(:,2)');
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
104 % end
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
105
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
106 % function testKeys(testCase)
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
107 % keyValuePairs = getKeyValuePairs();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
108
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
109 % map = exampleMap();
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
110
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
111 % testCase.verifyEqual(keys(map), keyValuePairs(:,1)');
effd75b113ba Add tests and fix a bunch of bugs.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
112 % end