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

Side by Side Diff: tests/corelib/map_test.dart

Issue 15263004: Adding isNotEmpty property to collection and string. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix template generation Created 7 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/corelib/list_test.dart ('k') | tests/corelib/queue_test.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) 2011, the Dart project authors. Please see the AUTHORS file 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 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 library map_test; 5 library map_test;
6 import "package:expect/expect.dart"; 6 import "package:expect/expect.dart";
7 import 'dart:collection'; 7 import 'dart:collection';
8 8
9 void main() { 9 void main() {
10 test(new HashMap()); 10 test(new HashMap());
(...skipping 29 matching lines...) Expand all
40 map.clear(); 40 map.clear();
41 testMap(map, "value1", "value2", "value3", "value4", "value5", 41 testMap(map, "value1", "value2", "value3", "value4", "value5",
42 "value6", "value7", "value8"); 42 "value6", "value7", "value8");
43 } 43 }
44 44
45 void testLinkedHashMap() { 45 void testLinkedHashMap() {
46 LinkedHashMap map = new LinkedHashMap(); 46 LinkedHashMap map = new LinkedHashMap();
47 Expect.equals(false, map.containsKey(1)); 47 Expect.equals(false, map.containsKey(1));
48 map[1] = 1; 48 map[1] = 1;
49 map[1] = 2; 49 map[1] = 2;
50 Expect.equals(1, map.length); 50 testLength(1, map);
51 } 51 }
52 52
53 void testMap(Map map, key1, key2, key3, key4, key5, key6, key7, key8) { 53 void testMap(Map map, key1, key2, key3, key4, key5, key6, key7, key8) {
54 int value1 = 10; 54 int value1 = 10;
55 int value2 = 20; 55 int value2 = 20;
56 int value3 = 30; 56 int value3 = 30;
57 int value4 = 40; 57 int value4 = 40;
58 int value5 = 50; 58 int value5 = 50;
59 int value6 = 60; 59 int value6 = 60;
60 int value7 = 70; 60 int value7 = 70;
61 int value8 = 80; 61 int value8 = 80;
62 62
63 Expect.equals(0, map.length); 63 testLength(0, map);
64 64
65 map[key1] = value1; 65 map[key1] = value1;
66 Expect.equals(value1, map[key1]); 66 Expect.equals(value1, map[key1]);
67 map[key1] = value2; 67 map[key1] = value2;
68 Expect.equals(false, map.containsKey(key2)); 68 Expect.equals(false, map.containsKey(key2));
69 Expect.equals(1, map.length); 69 testLength(1, map);
70 70
71 map[key1] = value1; 71 map[key1] = value1;
72 Expect.equals(value1, map[key1]); 72 Expect.equals(value1, map[key1]);
73 // Add enough entries to make sure the table grows. 73 // Add enough entries to make sure the table grows.
74 map[key2] = value2; 74 map[key2] = value2;
75 Expect.equals(value2, map[key2]); 75 Expect.equals(value2, map[key2]);
76 Expect.equals(2, map.length); 76 testLength(2, map);
77 map[key3] = value3; 77 map[key3] = value3;
78 Expect.equals(value2, map[key2]); 78 Expect.equals(value2, map[key2]);
79 Expect.equals(value3, map[key3]); 79 Expect.equals(value3, map[key3]);
80 map[key4] = value4; 80 map[key4] = value4;
81 Expect.equals(value3, map[key3]); 81 Expect.equals(value3, map[key3]);
82 Expect.equals(value4, map[key4]); 82 Expect.equals(value4, map[key4]);
83 map[key5] = value5; 83 map[key5] = value5;
84 Expect.equals(value4, map[key4]); 84 Expect.equals(value4, map[key4]);
85 Expect.equals(value5, map[key5]); 85 Expect.equals(value5, map[key5]);
86 map[key6] = value6; 86 map[key6] = value6;
87 Expect.equals(value5, map[key5]); 87 Expect.equals(value5, map[key5]);
88 Expect.equals(value6, map[key6]); 88 Expect.equals(value6, map[key6]);
89 map[key7] = value7; 89 map[key7] = value7;
90 Expect.equals(value6, map[key6]); 90 Expect.equals(value6, map[key6]);
91 Expect.equals(value7, map[key7]); 91 Expect.equals(value7, map[key7]);
92 map[key8] = value8; 92 map[key8] = value8;
93 Expect.equals(value1, map[key1]); 93 Expect.equals(value1, map[key1]);
94 Expect.equals(value2, map[key2]); 94 Expect.equals(value2, map[key2]);
95 Expect.equals(value3, map[key3]); 95 Expect.equals(value3, map[key3]);
96 Expect.equals(value4, map[key4]); 96 Expect.equals(value4, map[key4]);
97 Expect.equals(value5, map[key5]); 97 Expect.equals(value5, map[key5]);
98 Expect.equals(value6, map[key6]); 98 Expect.equals(value6, map[key6]);
99 Expect.equals(value7, map[key7]); 99 Expect.equals(value7, map[key7]);
100 Expect.equals(value8, map[key8]); 100 Expect.equals(value8, map[key8]);
101 Expect.equals(8, map.length); 101 testLength(8, map);
102 102
103 map.remove(key4); 103 map.remove(key4);
104 Expect.equals(false, map.containsKey(key4)); 104 Expect.equals(false, map.containsKey(key4));
105 Expect.equals(7, map.length); 105 testLength(7, map);
106 106
107 // Test clearing the table. 107 // Test clearing the table.
108 map.clear(); 108 map.clear();
109 Expect.equals(0, map.length); 109 testLength(0, map);
110 Expect.equals(false, map.containsKey(key1)); 110 Expect.equals(false, map.containsKey(key1));
111 Expect.equals(false, map.containsKey(key2)); 111 Expect.equals(false, map.containsKey(key2));
112 Expect.equals(false, map.containsKey(key3)); 112 Expect.equals(false, map.containsKey(key3));
113 Expect.equals(false, map.containsKey(key4)); 113 Expect.equals(false, map.containsKey(key4));
114 Expect.equals(false, map.containsKey(key5)); 114 Expect.equals(false, map.containsKey(key5));
115 Expect.equals(false, map.containsKey(key6)); 115 Expect.equals(false, map.containsKey(key6));
116 Expect.equals(false, map.containsKey(key7)); 116 Expect.equals(false, map.containsKey(key7));
117 Expect.equals(false, map.containsKey(key8)); 117 Expect.equals(false, map.containsKey(key8));
118 118
119 // Test adding and removing again. 119 // Test adding and removing again.
120 map[key1] = value1; 120 map[key1] = value1;
121 Expect.equals(value1, map[key1]); 121 Expect.equals(value1, map[key1]);
122 Expect.equals(1, map.length); 122 testLength(1, map);
123 map[key2] = value2; 123 map[key2] = value2;
124 Expect.equals(value2, map[key2]); 124 Expect.equals(value2, map[key2]);
125 Expect.equals(2, map.length); 125 testLength(2, map);
126 map[key3] = value3; 126 map[key3] = value3;
127 Expect.equals(value3, map[key3]); 127 Expect.equals(value3, map[key3]);
128 map.remove(key3); 128 map.remove(key3);
129 Expect.equals(2, map.length); 129 testLength(2, map);
130 map[key4] = value4; 130 map[key4] = value4;
131 Expect.equals(value4, map[key4]); 131 Expect.equals(value4, map[key4]);
132 map.remove(key4); 132 map.remove(key4);
133 Expect.equals(2, map.length); 133 testLength(2, map);
134 map[key5] = value5; 134 map[key5] = value5;
135 Expect.equals(value5, map[key5]); 135 Expect.equals(value5, map[key5]);
136 map.remove(key5); 136 map.remove(key5);
137 Expect.equals(2, map.length); 137 testLength(2, map);
138 map[key6] = value6; 138 map[key6] = value6;
139 Expect.equals(value6, map[key6]); 139 Expect.equals(value6, map[key6]);
140 map.remove(key6); 140 map.remove(key6);
141 Expect.equals(2, map.length); 141 testLength(2, map);
142 map[key7] = value7; 142 map[key7] = value7;
143 Expect.equals(value7, map[key7]); 143 Expect.equals(value7, map[key7]);
144 map.remove(key7); 144 map.remove(key7);
145 Expect.equals(2, map.length); 145 testLength(2, map);
146 map[key8] = value8; 146 map[key8] = value8;
147 Expect.equals(value8, map[key8]); 147 Expect.equals(value8, map[key8]);
148 map.remove(key8); 148 map.remove(key8);
149 Expect.equals(2, map.length); 149 testLength(2, map);
150 150
151 Expect.equals(true, map.containsKey(key1)); 151 Expect.equals(true, map.containsKey(key1));
152 Expect.equals(true, map.containsValue(value1)); 152 Expect.equals(true, map.containsValue(value1));
153 153
154 // Test Map.forEach. 154 // Test Map.forEach.
155 Map otherMap = new Map(); 155 Map otherMap = new Map();
156 void testForEachMap(key, value) { 156 void testForEachMap(key, value) {
157 otherMap[key] = value; 157 otherMap[key] = value;
158 } 158 }
159 map.forEach(testForEachMap); 159 map.forEach(testForEachMap);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 Expect.equals(true, map.containsKey(key1)); 206 Expect.equals(true, map.containsKey(key1));
207 Expect.equals(10, map[key1]); 207 Expect.equals(10, map[key1]);
208 Expect.equals(10, 208 Expect.equals(10,
209 map.putIfAbsent(key1, () => 11)); 209 map.putIfAbsent(key1, () => 11));
210 } 210 }
211 211
212 void testDeletedElement(Map map) { 212 void testDeletedElement(Map map) {
213 map.clear(); 213 map.clear();
214 for (int i = 0; i < 100; i++) { 214 for (int i = 0; i < 100; i++) {
215 map[1] = 2; 215 map[1] = 2;
216 Expect.equals(1, map.length); 216 testLength(1, map);
217 map.remove(1); 217 map.remove(1);
218 Expect.equals(0, map.length); 218 testLength(0, map);
219 } 219 }
220 Expect.equals(0, map.length); 220 testLength(0, map);
221 } 221 }
222 222
223 void testMapLiteral() { 223 void testMapLiteral() {
224 Map m = {"a": 1, "b" : 2, "c": 3 }; 224 Map m = {"a": 1, "b" : 2, "c": 3 };
225 Expect.equals(3, m.length); 225 Expect.equals(3, m.length);
226 int sum = 0; 226 int sum = 0;
227 m.forEach((a, b) { 227 m.forEach((a, b) {
228 sum += b; 228 sum += b;
229 }); 229 });
230 Expect.equals(6, sum); 230 Expect.equals(6, sum);
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 Expect.isTrue(map.isEmpty); 340 Expect.isTrue(map.isEmpty);
341 341
342 // Test NaN. 342 // Test NaN.
343 var nan = double.NAN; 343 var nan = double.NAN;
344 Expect.isFalse(map.containsKey(nan)); 344 Expect.isFalse(map.containsKey(nan));
345 Expect.equals(null, map[nan]); 345 Expect.equals(null, map[nan]);
346 346
347 map[nan] = 'value:0'; 347 map[nan] = 'value:0';
348 Expect.isFalse(map.containsKey(nan)); 348 Expect.isFalse(map.containsKey(nan));
349 Expect.equals(null, map[nan]); 349 Expect.equals(null, map[nan]);
350 Expect.equals(1, map.length); 350 testLength(1, map);
351 351
352 map[nan] = 'value:1'; 352 map[nan] = 'value:1';
353 Expect.isFalse(map.containsKey(nan)); 353 Expect.isFalse(map.containsKey(nan));
354 Expect.equals(null, map[nan]); 354 Expect.equals(null, map[nan]);
355 Expect.equals(2, map.length); 355 testLength(2, map);
356 356
357 Expect.equals(null, map.remove(nan)); 357 Expect.equals(null, map.remove(nan));
358 Expect.equals(2, map.length); 358 testLength(2, map);
359 359
360 var count = 0; 360 var count = 0;
361 map.forEach((key, value) { 361 map.forEach((key, value) {
362 if (key.isNaN) count++; 362 if (key.isNaN) count++;
363 }); 363 });
364 Expect.equals(2, count); 364 Expect.equals(2, count);
365 365
366 map.clear(); 366 map.clear();
367 Expect.isTrue(map.isEmpty); 367 Expect.isTrue(map.isEmpty);
368 } 368 }
369
370 void testLength(int length, Map map) {
371 Expect.equals(length, map.length);
372 (length == 0 ? Expect.isTrue : Expect.isFalse)(map.isEmpty);
373 (length != 0 ? Expect.isTrue : Expect.isFalse)(map.isNotEmpty);
374 }
OLDNEW
« no previous file with comments | « tests/corelib/list_test.dart ('k') | tests/corelib/queue_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698