comparison MapTest.m @ 421:b6a5dc423990

Merged in feature/better_map (pull request #8) Feature/better map
author Jonatan Werpers <jonatan.werpers@it.uu.se>
date Tue, 07 Feb 2017 14:38:51 +0000
parents effd75b113ba
children a6c5e73ff44e
comparison
equal deleted inserted replaced
419:1adfc42bbc1a 421:b6a5dc423990
1 function tests = MatTest()
2 tests = functiontests(localfunctions);
3 end
4
5 function kvp = getKeyValuePairs()
6 kvp = {
7 {1,3},1;
8 struct(), [1; 3; 4];
9 [1,2; 4 3], struct();
10 'Hej', struct('lol', 6);
11 0, 'Nej';
12 };
13 end
14
15 function testSetAndGet(testCase)
16 keyValuePairs = getKeyValuePairs();
17
18 map = Map();
19
20 % Insert
21 for i = 1:length(keyValuePairs)
22 map(keyValuePairs{i,1}) = keyValuePairs{i,2};
23 end
24
25 % Validate output
26 for i = 1:length(keyValuePairs)
27 v = map(keyValuePairs{i,1});
28 testCase.verifyEqual(v, keyValuePairs{i,2});
29 end
30 end
31
32 function map = exampleMap()
33 keyValuePairs = getKeyValuePairs();
34
35 map = Map();
36
37 % Insert
38 for i = 1:length(keyValuePairs)
39 map(keyValuePairs{i,1}) = keyValuePairs{i,2};
40 end
41 end
42
43 function testLength(testCase)
44 map = Map();
45 testCase.verifyEqual(map.length, 0);
46
47 map = exampleMap();
48 testCase.verifyEqual(map.length, 5)
49 end
50
51
52 function testIsKey(testCase)
53 map = exampleMap();
54
55 keyValuePairs = getKeyValuePairs();
56 keys = keyValuePairs(:,1);
57
58 for i = 1:length(keys)
59 testCase.verifyTrue(map.isKey(keys{i}));
60 end
61
62 notKeys = {
63 'hej',
64 [],
65 1,
66 {2,5},
67 };
68
69 for i = 1:length(notKeys)
70 testCase.verifyFalse(map.isKey(notKeys{i}));
71 end
72 end
73
74
75 function testRemove(testCase)
76 map = exampleMap();
77
78 remove(map, struct());
79
80 testCase.verifyFalse(map.isKey(struct()));
81 end
82
83 % function testValues(testCase)
84 % keyValuePairs = getKeyValuePairs();
85
86 % map = exampleMap();
87
88 % testCase.verifyEqual(values(map), keyValuePairs(:,2)');
89 % end
90
91 % function testKeys(testCase)
92 % keyValuePairs = getKeyValuePairs();
93
94 % map = exampleMap();
95
96 % testCase.verifyEqual(keys(map), keyValuePairs(:,1)');
97 % end