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

Side by Side Diff: packages/collection/test/unmodifiable_collection_test.dart

Issue 2989763002: Update charted to 0.4.8 and roll (Closed)
Patch Set: Removed Cutch from list of reviewers Created 3 years, 4 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
« no previous file with comments | « packages/collection/test/union_set_test.dart ('k') | packages/collection/test/utils.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import "package:collection/wrappers.dart";
6 import "package:test/test.dart"; 5 import "package:test/test.dart";
7 6
7 import "package:collection/collection.dart";
8
8 // Test unmodifiable collection views. 9 // Test unmodifiable collection views.
9 // The collections should pass through the operations that are allowed, 10 // The collections should pass through the operations that are allowed,
10 // an throw on the ones that aren't without affecting the original. 11 // an throw on the ones that aren't without affecting the original.
11 12
12 main() { 13 main() {
13 List list = []; 14 List list = [];
14 testUnmodifiableList(list, new UnmodifiableListView(list), "empty"); 15 testUnmodifiableList(list, new UnmodifiableListView(list), "empty");
15 list = [42]; 16 list = [42];
16 testUnmodifiableList(list, new UnmodifiableListView(list), "single-42"); 17 testUnmodifiableList(list, new UnmodifiableListView(list), "single-42");
17 list = [7]; 18 list = [7];
18 testUnmodifiableList(list, new UnmodifiableListView(list), "single!42"); 19 testUnmodifiableList(list, new UnmodifiableListView(list), "single!42");
19 list = [1, 42, 10]; 20 list = [1, 42, 10];
20 testUnmodifiableList(list, new UnmodifiableListView(list), "three-42"); 21 testUnmodifiableList(list, new UnmodifiableListView(list), "three-42");
21 list = [1, 7, 10]; 22 list = [1, 7, 10];
22 testUnmodifiableList(list, new UnmodifiableListView(list), "three!42"); 23 testUnmodifiableList(list, new UnmodifiableListView(list), "three!42");
23 24
24 list = []; 25 list = [];
25 testNonGrowableList(list, new NonGrowableListView(list), "empty"); 26 testNonGrowableList(list, new NonGrowableListView(list), "empty");
26 list = [42]; 27 list = [42];
27 testNonGrowableList(list, new NonGrowableListView(list), "single-42"); 28 testNonGrowableList(list, new NonGrowableListView(list), "single-42");
28 list = [7]; 29 list = [7];
29 testNonGrowableList(list, new NonGrowableListView(list), "single!42"); 30 testNonGrowableList(list, new NonGrowableListView(list), "single!42");
30 list = [1, 42, 10]; 31 list = [1, 42, 10];
31 testNonGrowableList(list, new NonGrowableListView(list), "three-42"); 32 testNonGrowableList(list, new NonGrowableListView(list), "three-42");
32 list = [1, 7, 10]; 33 list = [1, 7, 10];
33 testNonGrowableList(list, new NonGrowableListView(list), "three!42"); 34 testNonGrowableList(list, new NonGrowableListView(list), "three!42");
34 35
35 Set aSet = new Set(); 36 Set aSet = new Set();
36 testUnmodifiableSet(aSet, new UnmodifiableSetView(aSet), "empty"); 37 testUnmodifiableSet(aSet, new UnmodifiableSetView(aSet), "empty");
38 aSet = new Set();
39 testUnmodifiableSet(aSet, const UnmodifiableSetView.empty(), "const empty");
37 aSet = new Set.from([42]); 40 aSet = new Set.from([42]);
38 testUnmodifiableSet(aSet, new UnmodifiableSetView(aSet), "single-42"); 41 testUnmodifiableSet(aSet, new UnmodifiableSetView(aSet), "single-42");
39 aSet = new Set.from([7]); 42 aSet = new Set.from([7]);
40 testUnmodifiableSet(aSet, new UnmodifiableSetView(aSet), "single!42"); 43 testUnmodifiableSet(aSet, new UnmodifiableSetView(aSet), "single!42");
41 aSet = new Set.from([1, 42, 10]); 44 aSet = new Set.from([1, 42, 10]);
42 testUnmodifiableSet(aSet, new UnmodifiableSetView(aSet), "three-42"); 45 testUnmodifiableSet(aSet, new UnmodifiableSetView(aSet), "three-42");
43 aSet = new Set.from([1, 7, 10]); 46 aSet = new Set.from([1, 7, 10]);
44 testUnmodifiableSet(aSet, new UnmodifiableSetView(aSet), "three!42"); 47 testUnmodifiableSet(aSet, new UnmodifiableSetView(aSet), "three!42");
45 } 48 }
46 49
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 expect(wrapped.elementAt(0), equals(original.elementAt(0))); 87 expect(wrapped.elementAt(0), equals(original.elementAt(0)));
85 } 88 }
86 }); 89 });
87 90
88 test("$name - every", () { 91 test("$name - every", () {
89 expect(wrapped.every((x) => true), equals(original.every((x) => true))); 92 expect(wrapped.every((x) => true), equals(original.every((x) => true)));
90 expect(wrapped.every((x) => false), equals(original.every((x) => false))); 93 expect(wrapped.every((x) => false), equals(original.every((x) => false)));
91 }); 94 });
92 95
93 test("$name - expand", () { 96 test("$name - expand", () {
94 expect(wrapped.expand((x) => [x, x]), 97 expect(
95 equals(original.expand((x) => [x, x]))); 98 wrapped.expand((x) => [x, x]), equals(original.expand((x) => [x, x])));
96 }); 99 });
97 100
98 test("$name - first", () { 101 test("$name - first", () {
99 if (original.isEmpty) { 102 if (original.isEmpty) {
100 expect(() => wrapped.first, throws); 103 expect(() => wrapped.first, throws);
101 } else { 104 } else {
102 expect(wrapped.first, equals(original.first)); 105 expect(wrapped.first, equals(original.first));
103 } 106 }
104 }); 107 });
105 108
106 test("$name - firstWhere", () { 109 test("$name - firstWhere", () {
107 if (original.isEmpty) { 110 if (original.isEmpty) {
108 expect(() => wrapped.firstWhere((_) => true), throws); 111 expect(() => wrapped.firstWhere((_) => true), throws);
109 } else { 112 } else {
110 expect(wrapped.firstWhere((_) => true), 113 expect(wrapped.firstWhere((_) => true),
111 equals(original.firstWhere((_) => true))); 114 equals(original.firstWhere((_) => true)));
112 } 115 }
113 expect(() => wrapped.firstWhere((_) => false), throws); 116 expect(() => wrapped.firstWhere((_) => false), throws);
114 }); 117 });
115 118
116 test("$name - fold", () { 119 test("$name - fold", () {
117 expect(wrapped.fold(0, (x, y) => x + y), 120 expect(wrapped.fold(0, (x, y) => x + y),
118 equals(original.fold(0, (x, y) => x + y))); 121 equals(original.fold(0, (x, y) => x + y)));
119 }); 122 });
120 123
121 test("$name - forEach", () { 124 test("$name - forEach", () {
122 int wrapCtr = 0; 125 int wrapCtr = 0;
123 int origCtr = 0; 126 int origCtr = 0;
124 wrapped.forEach((x) { wrapCtr += x; }); 127 wrapped.forEach((x) {
125 original.forEach((x) { origCtr += x; }); 128 wrapCtr += x;
129 });
130 original.forEach((x) {
131 origCtr += x;
132 });
126 expect(wrapCtr, equals(origCtr)); 133 expect(wrapCtr, equals(origCtr));
127 }); 134 });
128 135
129 test("$name - isEmpty", () { 136 test("$name - isEmpty", () {
130 expect(wrapped.isEmpty, equals(original.isEmpty)); 137 expect(wrapped.isEmpty, equals(original.isEmpty));
131 }); 138 });
132 139
133 test("$name - isNotEmpty", () { 140 test("$name - isNotEmpty", () {
134 expect(wrapped.isNotEmpty, equals(original.isNotEmpty)); 141 expect(wrapped.isNotEmpty, equals(original.isNotEmpty));
135 }); 142 });
(...skipping 19 matching lines...) Expand all
155 } else { 162 } else {
156 expect(wrapped.last, equals(original.last)); 163 expect(wrapped.last, equals(original.last));
157 } 164 }
158 }); 165 });
159 166
160 test("$name - lastWhere", () { 167 test("$name - lastWhere", () {
161 if (original.isEmpty) { 168 if (original.isEmpty) {
162 expect(() => wrapped.lastWhere((_) => true), throws); 169 expect(() => wrapped.lastWhere((_) => true), throws);
163 } else { 170 } else {
164 expect(wrapped.lastWhere((_) => true), 171 expect(wrapped.lastWhere((_) => true),
165 equals(original.lastWhere((_) => true))); 172 equals(original.lastWhere((_) => true)));
166 } 173 }
167 expect(() => wrapped.lastWhere((_) => false), throws); 174 expect(() => wrapped.lastWhere((_) => false), throws);
168 }); 175 });
169 176
170 test("$name - length", () { 177 test("$name - length", () {
171 expect(wrapped.length, equals(original.length)); 178 expect(wrapped.length, equals(original.length));
172 }); 179 });
173 180
174 test("$name - map", () { 181 test("$name - map", () {
175 expect(wrapped.map((x) => "[$x]"), 182 expect(wrapped.map((x) => "[$x]"), equals(original.map((x) => "[$x]")));
176 equals(original.map((x) => "[$x]")));
177 }); 183 });
178 184
179 test("$name - reduce", () { 185 test("$name - reduce", () {
180 if (original.isEmpty) { 186 if (original.isEmpty) {
181 expect(() => wrapped.reduce((x, y) => x + y), throws); 187 expect(() => wrapped.reduce((x, y) => x + y), throws);
182 } else { 188 } else {
183 expect(wrapped.reduce((x, y) => x + y), 189 expect(wrapped.reduce((x, y) => x + y),
184 equals(original.reduce((x, y) => x + y))); 190 equals(original.reduce((x, y) => x + y)));
185 } 191 }
186 }); 192 });
187 193
188 test("$name - single", () { 194 test("$name - single", () {
189 if (original.length != 1) { 195 if (original.length != 1) {
190 expect(() => wrapped.single, throws); 196 expect(() => wrapped.single, throws);
191 } else { 197 } else {
192 expect(wrapped.single, equals(original.single)); 198 expect(wrapped.single, equals(original.single));
193 } 199 }
194 }); 200 });
195 201
196 test("$name - singleWhere", () { 202 test("$name - singleWhere", () {
197 if (original.length != 1) { 203 if (original.length != 1) {
198 expect(() => wrapped.singleWhere((_) => true), throws); 204 expect(() => wrapped.singleWhere((_) => true), throws);
199 } else { 205 } else {
200 expect(wrapped.singleWhere((_) => true), 206 expect(wrapped.singleWhere((_) => true),
201 equals(original.singleWhere((_) => true))); 207 equals(original.singleWhere((_) => true)));
202 } 208 }
203 expect(() => wrapped.singleWhere((_) => false), throws); 209 expect(() => wrapped.singleWhere((_) => false), throws);
204 }); 210 });
205 211
206 test("$name - skip", () { 212 test("$name - skip", () {
207 expect(wrapped.skip(0), orderedEquals(original.skip(0))); 213 expect(wrapped.skip(0), orderedEquals(original.skip(0)));
208 expect(wrapped.skip(1), orderedEquals(original.skip(1))); 214 expect(wrapped.skip(1), orderedEquals(original.skip(1)));
209 expect(wrapped.skip(5), orderedEquals(original.skip(5))); 215 expect(wrapped.skip(5), orderedEquals(original.skip(5)));
210 }); 216 });
211 217
212 test("$name - skipWhile", () { 218 test("$name - skipWhile", () {
213 expect(wrapped.skipWhile((x) => true), 219 expect(wrapped.skipWhile((x) => true),
214 orderedEquals(original.skipWhile((x) => true))); 220 orderedEquals(original.skipWhile((x) => true)));
215 expect(wrapped.skipWhile((x) => false), 221 expect(wrapped.skipWhile((x) => false),
216 orderedEquals(original.skipWhile((x) => false))); 222 orderedEquals(original.skipWhile((x) => false)));
217 expect(wrapped.skipWhile((x) => x != 42), 223 expect(wrapped.skipWhile((x) => x != 42),
218 orderedEquals(original.skipWhile((x) => x != 42))); 224 orderedEquals(original.skipWhile((x) => x != 42)));
219 }); 225 });
220 226
221 test("$name - take", () { 227 test("$name - take", () {
222 expect(wrapped.take(0), orderedEquals(original.take(0))); 228 expect(wrapped.take(0), orderedEquals(original.take(0)));
223 expect(wrapped.take(1), orderedEquals(original.take(1))); 229 expect(wrapped.take(1), orderedEquals(original.take(1)));
224 expect(wrapped.take(5), orderedEquals(original.take(5))); 230 expect(wrapped.take(5), orderedEquals(original.take(5)));
225 }); 231 });
226 232
227 test("$name - takeWhile", () { 233 test("$name - takeWhile", () {
228 expect(wrapped.takeWhile((x) => true), 234 expect(wrapped.takeWhile((x) => true),
229 orderedEquals(original.takeWhile((x) => true))); 235 orderedEquals(original.takeWhile((x) => true)));
230 expect(wrapped.takeWhile((x) => false), 236 expect(wrapped.takeWhile((x) => false),
231 orderedEquals(original.takeWhile((x) => false))); 237 orderedEquals(original.takeWhile((x) => false)));
232 expect(wrapped.takeWhile((x) => x != 42), 238 expect(wrapped.takeWhile((x) => x != 42),
233 orderedEquals(original.takeWhile((x) => x != 42))); 239 orderedEquals(original.takeWhile((x) => x != 42)));
234 }); 240 });
235 241
236 test("$name - toList", () { 242 test("$name - toList", () {
237 expect(wrapped.toList(), orderedEquals(original.toList())); 243 expect(wrapped.toList(), orderedEquals(original.toList()));
238 expect(wrapped.toList(growable: false), 244 expect(wrapped.toList(growable: false),
239 orderedEquals(original.toList(growable: false))); 245 orderedEquals(original.toList(growable: false)));
240 }); 246 });
241 247
242 test("$name - toSet", () { 248 test("$name - toSet", () {
243 expect(wrapped.toSet(), unorderedEquals(original.toSet())); 249 expect(wrapped.toSet(), unorderedEquals(original.toSet()));
244 }); 250 });
245 251
246 test("$name - where", () { 252 test("$name - where", () {
247 expect(wrapped.where((x) => true), 253 expect(
248 orderedEquals(original.where((x) => true))); 254 wrapped.where((x) => true), orderedEquals(original.where((x) => true)));
249 expect(wrapped.where((x) => false), 255 expect(wrapped.where((x) => false),
250 orderedEquals(original.where((x) => false))); 256 orderedEquals(original.where((x) => false)));
251 expect(wrapped.where((x) => x != 42), 257 expect(wrapped.where((x) => x != 42),
252 orderedEquals(original.where((x) => x != 42))); 258 orderedEquals(original.where((x) => x != 42)));
253 }); 259 });
254 } 260 }
255 261
256 void testReadList(List original, List wrapped, String name) { 262 void testReadList(List original, List wrapped, String name) {
257 test("$name - length", () { 263 test("$name - length", () {
258 expect(wrapped.length, equals(original.length)); 264 expect(wrapped.length, equals(original.length));
259 }); 265 });
260 266
261 test("$name - isEmpty", () { 267 test("$name - isEmpty", () {
262 expect(wrapped.isEmpty, equals(original.isEmpty)); 268 expect(wrapped.isEmpty, equals(original.isEmpty));
263 }); 269 });
264 270
265 test("$name - isNotEmpty", () { 271 test("$name - isNotEmpty", () {
266 expect(wrapped.isNotEmpty, equals(original.isNotEmpty)); 272 expect(wrapped.isNotEmpty, equals(original.isNotEmpty));
267 }); 273 });
268 274
269 test("$name - []", () { 275 test("$name - []", () {
270 if (original.isEmpty) { 276 if (original.isEmpty) {
271 expect(() { wrapped[0]; }, throwsRangeError); 277 expect(() {
278 wrapped[0];
279 }, throwsRangeError);
272 } else { 280 } else {
273 expect(wrapped[0], equals(original[0])); 281 expect(wrapped[0], equals(original[0]));
274 } 282 }
275 }); 283 });
276 284
277 test("$name - indexOf", () { 285 test("$name - indexOf", () {
278 expect(wrapped.indexOf(42), equals(original.indexOf(42))); 286 expect(wrapped.indexOf(42), equals(original.indexOf(42)));
279 }); 287 });
280 288
281 test("$name - lastIndexOf", () { 289 test("$name - lastIndexOf", () {
282 expect(wrapped.lastIndexOf(42), equals(original.lastIndexOf(42))); 290 expect(wrapped.lastIndexOf(42), equals(original.lastIndexOf(42)));
283 }); 291 });
284 292
285 test("$name - getRange", () { 293 test("$name - getRange", () {
286 int len = original.length; 294 int len = original.length;
287 expect(wrapped.getRange(0, len), equals(original.getRange(0, len))); 295 expect(wrapped.getRange(0, len), equals(original.getRange(0, len)));
288 expect(wrapped.getRange(len ~/ 2, len), 296 expect(wrapped.getRange(len ~/ 2, len),
289 equals(original.getRange(len ~/ 2, len))); 297 equals(original.getRange(len ~/ 2, len)));
290 expect(wrapped.getRange(0, len ~/ 2), 298 expect(
291 equals(original.getRange(0, len ~/ 2))); 299 wrapped.getRange(0, len ~/ 2), equals(original.getRange(0, len ~/ 2)));
292 }); 300 });
293 301
294 test("$name - sublist", () { 302 test("$name - sublist", () {
295 int len = original.length; 303 int len = original.length;
296 expect(wrapped.sublist(0), equals(original.sublist(0))); 304 expect(wrapped.sublist(0), equals(original.sublist(0)));
297 expect(wrapped.sublist(len ~/ 2), equals(original.sublist(len ~/ 2))); 305 expect(wrapped.sublist(len ~/ 2), equals(original.sublist(len ~/ 2)));
298 expect(wrapped.sublist(0, len ~/ 2), 306 expect(wrapped.sublist(0, len ~/ 2), equals(original.sublist(0, len ~/ 2)));
299 equals(original.sublist(0, len ~/ 2)));
300 }); 307 });
301 308
302 test("$name - asMap", () { 309 test("$name - asMap", () {
303 expect(wrapped.asMap(), equals(original.asMap())); 310 expect(wrapped.asMap(), equals(original.asMap()));
304 }); 311 });
305 } 312 }
306 313
307 void testNoWriteList(List original, List wrapped, String name) { 314 void testNoWriteList(List original, List wrapped, String name) {
308 List copy = new List.from(original); 315 List copy = new List.from(original);
309 316
310 testThrows(name, thunk) { 317 testThrows(name, thunk) {
311 test(name, () { 318 test(name, () {
312 expect(thunk, throwsUnsupportedError); 319 expect(thunk, throwsUnsupportedError);
313 // No modifications happened. 320 // No modifications happened.
314 expect(original, equals(copy)); 321 expect(original, equals(copy));
315 }); 322 });
316 } 323 }
317 324
318 testThrows("$name - []= throws", () { wrapped[0] = 42; }); 325 testThrows("$name - []= throws", () {
326 wrapped[0] = 42;
327 });
319 328
320 testThrows("$name - sort throws", () { wrapped.sort(); }); 329 testThrows("$name - sort throws", () {
330 wrapped.sort();
331 });
321 332
322 testThrows("$name - fillRange throws", () { 333 testThrows("$name - fillRange throws", () {
323 wrapped.fillRange(0, wrapped.length, 42); 334 wrapped.fillRange(0, wrapped.length, 42);
324 }); 335 });
325 336
326 testThrows("$name - setRange throws", () { 337 testThrows("$name - setRange throws", () {
327 wrapped.setRange(0, wrapped.length, 338 wrapped.setRange(
328 new Iterable.generate(wrapped.length, (i) => i)); 339 0, wrapped.length, new Iterable.generate(wrapped.length, (i) => i));
329 }); 340 });
330 341
331 testThrows("$name - setAll throws", () { 342 testThrows("$name - setAll throws", () {
332 wrapped.setAll(0, new Iterable.generate(wrapped.length, (i) => i)); 343 wrapped.setAll(0, new Iterable.generate(wrapped.length, (i) => i));
333 }); 344 });
334 } 345 }
335 346
336 void testWriteList(List original, List wrapped, String name) { 347 void testWriteList(List original, List wrapped, String name) {
337 List copy = new List.from(original); 348 List copy = new List.from(original);
338 349
339 test("$name - []=", () { 350 test("$name - []=", () {
340 if (original.isNotEmpty) { 351 if (original.isNotEmpty) {
341 int originalFirst = original[0]; 352 int originalFirst = original[0];
342 wrapped[0] = originalFirst + 1; 353 wrapped[0] = originalFirst + 1;
343 expect(original[0], equals(originalFirst + 1)); 354 expect(original[0], equals(originalFirst + 1));
344 original[0] = originalFirst; 355 original[0] = originalFirst;
345 } else { 356 } else {
346 expect(() { wrapped[0] = 42; }, throws); 357 expect(() {
358 wrapped[0] = 42;
359 }, throws);
347 } 360 }
348 }); 361 });
349 362
350 test("$name - sort", () { 363 test("$name - sort", () {
351 List sortCopy = new List.from(original); 364 List sortCopy = new List.from(original);
352 sortCopy.sort(); 365 sortCopy.sort();
353 wrapped.sort(); 366 wrapped.sort();
354 expect(original, orderedEquals(sortCopy)); 367 expect(original, orderedEquals(sortCopy));
355 original.setAll(0, copy); 368 original.setAll(0, copy);
356 }); 369 });
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 expect(wrapped.containsAll(copy), isTrue); 462 expect(wrapped.containsAll(copy), isTrue);
450 expect(wrapped.containsAll(copy.toList()), isTrue); 463 expect(wrapped.containsAll(copy.toList()), isTrue);
451 expect(wrapped.containsAll([]), isTrue); 464 expect(wrapped.containsAll([]), isTrue);
452 expect(wrapped.containsAll([42]), equals(original.containsAll([42]))); 465 expect(wrapped.containsAll([42]), equals(original.containsAll([42])));
453 }); 466 });
454 467
455 test("$name - intersection", () { 468 test("$name - intersection", () {
456 expect(wrapped.intersection(new Set()), isEmpty); 469 expect(wrapped.intersection(new Set()), isEmpty);
457 expect(wrapped.intersection(copy), unorderedEquals(original)); 470 expect(wrapped.intersection(copy), unorderedEquals(original));
458 expect(wrapped.intersection(new Set.from([42])), 471 expect(wrapped.intersection(new Set.from([42])),
459 new Set.from(original.contains(42) ? [42] : [])); 472 new Set.from(original.contains(42) ? [42] : []));
460 }); 473 });
461 474
462 test("$name - union", () { 475 test("$name - union", () {
463 expect(wrapped.union(new Set()), unorderedEquals(original)); 476 expect(wrapped.union(new Set()), unorderedEquals(original));
464 expect(wrapped.union(copy), unorderedEquals(original)); 477 expect(wrapped.union(copy), unorderedEquals(original));
465 expect(wrapped.union(new Set.from([42])), 478 expect(wrapped.union(new Set.from([42])),
466 equals(original.union(new Set.from([42])))); 479 equals(original.union(new Set.from([42]))));
467 }); 480 });
468 481
469 test("$name - difference", () { 482 test("$name - difference", () {
470 expect(wrapped.difference(new Set()), unorderedEquals(original)); 483 expect(wrapped.difference(new Set()), unorderedEquals(original));
471 expect(wrapped.difference(copy), isEmpty); 484 expect(wrapped.difference(copy), isEmpty);
472 expect(wrapped.difference(new Set.from([42])), 485 expect(wrapped.difference(new Set.from([42])),
473 equals(original.difference(new Set.from([42])))); 486 equals(original.difference(new Set.from([42]))));
474 }); 487 });
475 } 488 }
476 489
477 void testNoChangeSet(Set original, Set wrapped, String name) { 490 void testNoChangeSet(Set original, Set wrapped, String name) {
478 List originalElements = original.toList(); 491 List originalElements = original.toList();
479 492
480 testThrows(name, thunk) { 493 testThrows(name, thunk) {
481 test(name, () { 494 test(name, () {
482 expect(thunk, throwsUnsupportedError); 495 expect(thunk, throwsUnsupportedError);
483 // No modifications happened. 496 // No modifications happened.
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 }); 563 });
551 564
552 test("$name containsValue", () { 565 test("$name containsValue", () {
553 expect(wrapped.containsValue(0), equals(original.containsValue(0))); 566 expect(wrapped.containsValue(0), equals(original.containsValue(0)));
554 expect(wrapped.containsValue(999), equals(original.containsValue(999))); 567 expect(wrapped.containsValue(999), equals(original.containsValue(999)));
555 }); 568 });
556 569
557 test("$name forEach", () { 570 test("$name forEach", () {
558 int origCnt = 0; 571 int origCnt = 0;
559 int wrapCnt = 0; 572 int wrapCnt = 0;
560 wrapped.forEach((k, v) { wrapCnt += 1 << k + 3 * v; }); 573 wrapped.forEach((k, v) {
561 original.forEach((k, v) { origCnt += 1 << k + 3 * v; }); 574 wrapCnt += 1 << k + 3 * v;
575 });
576 original.forEach((k, v) {
577 origCnt += 1 << k + 3 * v;
578 });
562 expect(wrapCnt, equals(origCnt)); 579 expect(wrapCnt, equals(origCnt));
563 }); 580 });
564 581
565 test("$name keys", () { 582 test("$name keys", () {
566 expect(wrapped.keys, orderedEquals(original.keys)); 583 expect(wrapped.keys, orderedEquals(original.keys));
567 }); 584 });
568 585
569 test("$name values", () { 586 test("$name values", () {
570 expect(wrapped.values, orderedEquals(original.values)); 587 expect(wrapped.values, orderedEquals(original.values));
571 }); 588 });
572 } 589 }
573 590
574 testNoChangeMap(Map original, Map wrapped, String name) { 591 testNoChangeMap(Map original, Map wrapped, String name) {
575 Map copy = new Map.from(original); 592 Map copy = new Map.from(original);
576 593
577 testThrows(name, thunk) { 594 testThrows(name, thunk) {
578 test(name, () { 595 test(name, () {
579 expect(thunk, throwsUnsupportedError); 596 expect(thunk, throwsUnsupportedError);
580 // No modifications happened. 597 // No modifications happened.
581 expect(original, equals(copy)); 598 expect(original, equals(copy));
582 }); 599 });
583 } 600 }
584 601
585 testThrows("$name operator[]= throws", () { 602 testThrows("$name operator[]= throws", () {
586 wrapped[0] = 42; 603 wrapped[0] = 42;
587 }); 604 });
588 605
589 testThrows("$name putIfAbsent throws", () { 606 testThrows("$name putIfAbsent throws", () {
590 wrapped.putIfAbsent(0, () => 42); 607 wrapped.putIfAbsent(0, () => 42);
591 }); 608 });
592 609
593 testThrows("$name addAll throws", () { 610 testThrows("$name addAll throws", () {
594 wrapped.addAll(new Map()..[42] = 42); 611 wrapped.addAll(new Map()..[42] = 42);
595 }); 612 });
596 613
597 testThrows("$name addAll empty throws", () { 614 testThrows("$name addAll empty throws", () {
598 wrapped.addAll(new Map()); 615 wrapped.addAll(new Map());
599 }); 616 });
600 617
601 testThrows("$name remove throws", () { 618 testThrows("$name remove throws", () {
602 wrapped.remove(0); 619 wrapped.remove(0);
603 }); 620 });
604 621
605 testThrows("$name clear throws", () { 622 testThrows("$name clear throws", () {
606 wrapped.clear(); 623 wrapped.clear();
607 }); 624 });
608 } 625 }
OLDNEW
« no previous file with comments | « packages/collection/test/union_set_test.dart ('k') | packages/collection/test/utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698