Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: tests/language/src/MapTest.dart

Issue 10248007: test rename overhaul: step 8 - language tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tests/language/src/MapLiteralTest.dart ('k') | tests/language/src/MathVMTest.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4 // A subtest of the larger MapTest. Will eliminate once the full
5 // test is running.
6
7 class MapTest {
8
9 static void testDeletedElement(Map map) {
10 map.clear();
11 for (int i = 0; i < 100; i++) {
12 map[1] = 2;
13 Expect.equals(1, map.length);
14 int x = map.remove(1);
15 Expect.equals(2, x);
16 Expect.equals(0, map.length);
17 }
18 Expect.equals(0, map.length);
19 for (int i = 0; i < 100; i++) {
20 map[i] = 2;
21 Expect.equals(1, map.length);
22 int x = map.remove(105);
23 Expect.equals(null, x);
24 Expect.equals(1, map.length);
25 x = map.remove(i);
26 Expect.equals(2, x);
27 Expect.equals(0, map.length);
28 }
29 Expect.equals(0, map.length);
30 map.remove(105);
31 }
32
33 static void test(Map map) {
34 testDeletedElement(map);
35 testMap(map, 1, 2, 3, 4, 5, 6, 7, 8);
36 map.clear();
37 testMap(map, "value1", "value2", "value3", "value4", "value5",
38 "value6", "value7", "value8");
39 }
40
41 static void testMap(Map map, key1, key2, key3, key4, key5, key6, key7, key8) {
42 int value1 = 10;
43 int value2 = 20;
44 int value3 = 30;
45 int value4 = 40;
46 int value5 = 50;
47 int value6 = 60;
48 int value7 = 70;
49 int value8 = 80;
50
51 Expect.equals(0, map.length);
52
53 map[key1] = value1;
54 Expect.equals(value1, map[key1]);
55 map[key1] = value2;
56 Expect.equals(false, map.containsKey(key2));
57 Expect.equals(1, map.length);
58
59 map[key1] = value1;
60 Expect.equals(value1, map[key1]);
61 // Add enough entries to make sure the table grows.
62 map[key2] = value2;
63 Expect.equals(value2, map[key2]);
64 Expect.equals(2, map.length);
65 map[key3] = value3;
66 Expect.equals(value2, map[key2]);
67 Expect.equals(value3, map[key3]);
68 map[key4] = value4;
69 Expect.equals(value3, map[key3]);
70 Expect.equals(value4, map[key4]);
71 map[key5] = value5;
72 Expect.equals(value4, map[key4]);
73 Expect.equals(value5, map[key5]);
74 map[key6] = value6;
75 Expect.equals(value5, map[key5]);
76 Expect.equals(value6, map[key6]);
77 map[key7] = value7;
78 Expect.equals(value6, map[key6]);
79 Expect.equals(value7, map[key7]);
80 map[key8] = value8;
81 Expect.equals(value1, map[key1]);
82 Expect.equals(value2, map[key2]);
83 Expect.equals(value3, map[key3]);
84 Expect.equals(value4, map[key4]);
85 Expect.equals(value5, map[key5]);
86 Expect.equals(value6, map[key6]);
87 Expect.equals(value7, map[key7]);
88 Expect.equals(value8, map[key8]);
89 Expect.equals(8, map.length);
90
91 map.remove(key4);
92 Expect.equals(false, map.containsKey(key4));
93 Expect.equals(7, map.length);
94
95 // Test clearing the table.
96 map.clear();
97 Expect.equals(0, map.length);
98 Expect.equals(false, map.containsKey(key1));
99 Expect.equals(false, map.containsKey(key2));
100 Expect.equals(false, map.containsKey(key3));
101 Expect.equals(false, map.containsKey(key4));
102 Expect.equals(false, map.containsKey(key5));
103 Expect.equals(false, map.containsKey(key6));
104 Expect.equals(false, map.containsKey(key7));
105 Expect.equals(false, map.containsKey(key8));
106
107 // Test adding and removing again.
108 map[key1] = value1;
109 Expect.equals(value1, map[key1]);
110 Expect.equals(1, map.length);
111 map[key2] = value2;
112 Expect.equals(value2, map[key2]);
113 Expect.equals(2, map.length);
114 map[key3] = value3;
115 Expect.equals(value3, map[key3]);
116 map.remove(key3);
117 Expect.equals(2, map.length);
118 map[key4] = value4;
119 Expect.equals(value4, map[key4]);
120 map.remove(key4);
121 Expect.equals(2, map.length);
122 map[key5] = value5;
123 Expect.equals(value5, map[key5]);
124 map.remove(key5);
125 Expect.equals(2, map.length);
126 map[key6] = value6;
127 Expect.equals(value6, map[key6]);
128 map.remove(key6);
129 Expect.equals(2, map.length);
130 map[key7] = value7;
131 Expect.equals(value7, map[key7]);
132 map.remove(key7);
133 Expect.equals(2, map.length);
134 map[key8] = value8;
135 Expect.equals(value8, map[key8]);
136 map.remove(key8);
137 Expect.equals(2, map.length);
138
139 Expect.equals(true, map.containsKey(key1));
140 Expect.equals(true, map.containsValue(value1));
141
142 // Test Map.forEach.
143 Map other_map = new Map();
144 void testForEachMap(key, value) {
145 other_map[key] = value;
146 }
147 map.forEach(testForEachMap);
148 Expect.equals(true, other_map.containsKey(key1));
149 Expect.equals(true, other_map.containsKey(key2));
150 Expect.equals(true, other_map.containsValue(value1));
151 Expect.equals(true, other_map.containsValue(value2));
152 Expect.equals(2, other_map.length);
153
154 other_map.clear();
155 Expect.equals(0, other_map.length);
156
157 // Test Collection.getKeys.
158 void testForEachCollection(value) {
159 other_map[value] = value;
160 }
161 Collection keys = map.getKeys();
162 keys.forEach(testForEachCollection);
163 Expect.equals(true, other_map.containsKey(key1));
164 Expect.equals(true, other_map.containsKey(key2));
165 Expect.equals(true, other_map.containsValue(key1));
166 Expect.equals(true, other_map.containsValue(key2));
167 Expect.equals(true, !other_map.containsKey(value1));
168 Expect.equals(true, !other_map.containsKey(value2));
169 Expect.equals(true, !other_map.containsValue(value1));
170 Expect.equals(true, !other_map.containsValue(value2));
171 Expect.equals(2, other_map.length);
172 other_map.clear();
173 Expect.equals(0, other_map.length);
174
175 // Test Collection.getValues.
176 Collection values = map.getValues();
177 values.forEach(testForEachCollection);
178 Expect.equals(true, !other_map.containsKey(key1));
179 Expect.equals(true, !other_map.containsKey(key2));
180 Expect.equals(true, !other_map.containsValue(key1));
181 Expect.equals(true, !other_map.containsValue(key2));
182 Expect.equals(true, other_map.containsKey(value1));
183 Expect.equals(true, other_map.containsKey(value2));
184 Expect.equals(true, other_map.containsValue(value1));
185 Expect.equals(true, other_map.containsValue(value2));
186 Expect.equals(2, other_map.length);
187 other_map.clear();
188 Expect.equals(0, other_map.length);
189
190 // Test Map.putIfAbsent.
191 map.clear();
192 Expect.equals(false, map.containsKey(key1));
193 map.putIfAbsent(key1, () => 10);
194 Expect.equals(true, map.containsKey(key1));
195 Expect.equals(10, map[key1]);
196 Expect.equals(10,
197 map.putIfAbsent(key1, () => 11));
198 }
199
200 static testKeys(Map map) {
201 map[1] = 101;
202 map[2] = 102;
203 Collection k = map.getKeys();
204 Expect.equals(2, k.length);
205 Collection v = map.getValues();
206 Expect.equals(2, v.length);
207 Expect.equals(true, map.containsValue(101));
208 Expect.equals(true, map.containsValue(102));
209 Expect.equals(false, map.containsValue(103));
210 }
211
212 static testMain() {
213 test(new Map());
214 testKeys(new Map());
215 }
216 }
217
218
219 main() {
220 MapTest.testMain();
221 }
OLDNEW
« no previous file with comments | « tests/language/src/MapLiteralTest.dart ('k') | tests/language/src/MathVMTest.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698