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

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

Issue 12304016: Restructure SplayTreeMap to be reusable (e.g., for a SplayTreeSet). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Better doc Created 7 years, 9 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
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 library set_test;
floitsch 2013/02/27 16:31:11 copyright.
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 2
5 class SetTest { 3 import "dart:collection";
6 4
7 static testMain() { 5 void testMain(Set create()) {
8 Set set = new Set(); 6 Set set = create();
9 Expect.equals(0, set.length); 7 Expect.equals(0, set.length);
10 set.add(1); 8 set.add(1);
11 Expect.equals(1, set.length); 9 Expect.equals(1, set.length);
12 Expect.equals(true, set.contains(1)); 10 Expect.equals(true, set.contains(1));
13 11
14 set.add(1); 12 set.add(1);
15 Expect.equals(1, set.length); 13 Expect.equals(1, set.length);
16 Expect.equals(true, set.contains(1)); 14 Expect.equals(true, set.contains(1));
17 15
18 set.remove(1); 16 set.remove(1);
19 Expect.equals(0, set.length); 17 Expect.equals(0, set.length);
20 Expect.equals(false, set.contains(1)); 18 Expect.equals(false, set.contains(1));
21 19
22 for (int i = 0; i < 10; i++) { 20 for (int i = 0; i < 10; i++) {
23 set.add(i); 21 set.add(i);
24 } 22 }
25 23
26 Expect.equals(10, set.length); 24 Expect.equals(10, set.length);
27 for (int i = 0; i < 10; i++) { 25 for (int i = 0; i < 10; i++) {
28 Expect.equals(true, set.contains(i)); 26 Expect.equals(true, set.contains(i));
29 } 27 }
30 28
31 Expect.equals(10, set.length); 29 Expect.equals(10, set.length);
32 30
33 for (int i = 10; i < 20; i++) { 31 for (int i = 10; i < 20; i++) {
34 Expect.equals(false, set.contains(i)); 32 Expect.equals(false, set.contains(i));
35 } 33 }
36 34
37 // Test Set.forEach. 35 // Test Set.forEach.
38 int sum = 0; 36 int sum = 0;
39 testForEach(int val) { 37 testForEach(int val) {
40 sum += (val + 1); 38 sum += (val + 1);
41 } 39 }
42 40
43 set.forEach(testForEach); 41 set.forEach(testForEach);
44 Expect.equals(10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1, sum); 42 Expect.equals(10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1, sum);
45 43
46 Expect.equals(true, set.isSubsetOf(set)); 44 Expect.equals(true, set.isSubsetOf(set));
47 Expect.equals(true, set.containsAll(set)); 45 Expect.equals(true, set.containsAll(set));
48 46
49 // Test Set.map. 47 // Test Set.map.
50 testMap(int val) { 48 testMap(int val) {
51 return val * val; 49 return val * val;
52 } 50 }
53 51
54 Set mapped = set.map(testMap).toSet(); 52 Set mapped = set.map(testMap).toSet();
55 Expect.equals(10, mapped.length); 53 Expect.equals(10, mapped.length);
56 54
57 Expect.equals(true, mapped.contains(0)); 55 Expect.equals(true, mapped.contains(0));
58 Expect.equals(true, mapped.contains(1)); 56 Expect.equals(true, mapped.contains(1));
59 Expect.equals(true, mapped.contains(4)); 57 Expect.equals(true, mapped.contains(4));
60 Expect.equals(true, mapped.contains(9)); 58 Expect.equals(true, mapped.contains(9));
61 Expect.equals(true, mapped.contains(16)); 59 Expect.equals(true, mapped.contains(16));
62 Expect.equals(true, mapped.contains(25)); 60 Expect.equals(true, mapped.contains(25));
63 Expect.equals(true, mapped.contains(36)); 61 Expect.equals(true, mapped.contains(36));
64 Expect.equals(true, mapped.contains(49)); 62 Expect.equals(true, mapped.contains(49));
65 Expect.equals(true, mapped.contains(64)); 63 Expect.equals(true, mapped.contains(64));
66 Expect.equals(true, mapped.contains(81)); 64 Expect.equals(true, mapped.contains(81));
67 65
68 sum = 0; 66 sum = 0;
69 set.forEach(testForEach); 67 set.forEach(testForEach);
70 Expect.equals(10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1, sum); 68 Expect.equals(10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1, sum);
71 69
72 sum = 0; 70 sum = 0;
73 71
74 mapped.forEach(testForEach); 72 mapped.forEach(testForEach);
75 Expect.equals(1 + 2 + 5 + 10 + 17 + 26 + 37 + 50 + 65 + 82, sum); 73 Expect.equals(1 + 2 + 5 + 10 + 17 + 26 + 37 + 50 + 65 + 82, sum);
76 74
77 // Test Set.filter. 75 // Test Set.filter.
78 testFilter(int val) { 76 testFilter(int val) {
79 return val.isEven; 77 return val.isEven;
80 } 78 }
81 79
82 Set filtered = set.where(testFilter).toSet(); 80 Set filtered = set.where(testFilter).toSet();
83 81
84 Expect.equals(5, filtered.length); 82 Expect.equals(5, filtered.length);
85 83
86 Expect.equals(true, filtered.contains(0)); 84 Expect.equals(true, filtered.contains(0));
87 Expect.equals(true, filtered.contains(2)); 85 Expect.equals(true, filtered.contains(2));
88 Expect.equals(true, filtered.contains(4)); 86 Expect.equals(true, filtered.contains(4));
89 Expect.equals(true, filtered.contains(6)); 87 Expect.equals(true, filtered.contains(6));
90 Expect.equals(true, filtered.contains(8)); 88 Expect.equals(true, filtered.contains(8));
91 89
92 sum = 0; 90 sum = 0;
93 filtered.forEach(testForEach); 91 filtered.forEach(testForEach);
94 Expect.equals(1 + 3 + 5 + 7 + 9, sum); 92 Expect.equals(1 + 3 + 5 + 7 + 9, sum);
95 93
96 Expect.equals(true, set.containsAll(filtered)); 94 Expect.equals(true, set.containsAll(filtered));
97 Expect.equals(true, filtered.isSubsetOf(set)); 95 Expect.equals(true, filtered.isSubsetOf(set));
98 96
99 // Test Set.every. 97 // Test Set.every.
100 testEvery(int val) { 98 testEvery(int val) {
101 return (val < 10); 99 return (val < 10);
102 } 100 }
103 101
104 Expect.equals(true, set.every(testEvery)); 102 Expect.equals(true, set.every(testEvery));
105 Expect.equals(true, filtered.every(testEvery)); 103 Expect.equals(true, filtered.every(testEvery));
106 104
107 filtered.add(10); 105 filtered.add(10);
108 Expect.equals(false, filtered.every(testEvery)); 106 Expect.equals(false, filtered.every(testEvery));
109 107
110 // Test Set.some. 108 // Test Set.some.
111 testSome(int val) { 109 testSome(int val) {
112 return (val == 4); 110 return (val == 4);
113 } 111 }
114 112
115 Expect.equals(true, set.any(testSome)); 113 Expect.equals(true, set.any(testSome));
116 Expect.equals(true, filtered.any(testSome)); 114 Expect.equals(true, filtered.any(testSome));
117 filtered.remove(4); 115 filtered.remove(4);
118 Expect.equals(false, filtered.any(testSome)); 116 Expect.equals(false, filtered.any(testSome));
119 117
120 // Test Set.intersection. 118 // Test Set.intersection.
121 Set intersection = set.intersection(filtered); 119 Set intersection = set.intersection(filtered);
122 Expect.equals(true, set.contains(0)); 120 Expect.equals(true, set.contains(0));
123 Expect.equals(true, set.contains(2)); 121 Expect.equals(true, set.contains(2));
124 Expect.equals(true, set.contains(6)); 122 Expect.equals(true, set.contains(6));
125 Expect.equals(true, set.contains(8)); 123 Expect.equals(true, set.contains(8));
126 Expect.equals(false, intersection.contains(1)); 124 Expect.equals(false, intersection.contains(1));
127 Expect.equals(false, intersection.contains(3)); 125 Expect.equals(false, intersection.contains(3));
128 Expect.equals(false, intersection.contains(4)); 126 Expect.equals(false, intersection.contains(4));
129 Expect.equals(false, intersection.contains(5)); 127 Expect.equals(false, intersection.contains(5));
130 Expect.equals(false, intersection.contains(7)); 128 Expect.equals(false, intersection.contains(7));
131 Expect.equals(false, intersection.contains(9)); 129 Expect.equals(false, intersection.contains(9));
132 Expect.equals(false, intersection.contains(10)); 130 Expect.equals(false, intersection.contains(10));
133 Expect.equals(4, intersection.length); 131 Expect.equals(4, intersection.length);
134 132
135 Expect.equals(true, set.containsAll(intersection)); 133 Expect.equals(true, set.containsAll(intersection));
136 Expect.equals(true, filtered.containsAll(intersection)); 134 Expect.equals(true, filtered.containsAll(intersection));
137 Expect.equals(true, intersection.isSubsetOf(set)); 135 Expect.equals(true, intersection.isSubsetOf(set));
138 Expect.equals(true, intersection.isSubsetOf(filtered)); 136 Expect.equals(true, intersection.isSubsetOf(filtered));
139 137
140 // Test Set.addAll. 138 // Test Set.addAll.
141 List list = new List(10); 139 List list = new List.fixedLength(10);
142 for (int i = 0; i < 10; i++) { 140 for (int i = 0; i < 10; i++) {
143 list[i] = i + 10; 141 list[i] = i + 10;
144 } 142 }
145 set.addAll(list); 143 set.addAll(list);
146 Expect.equals(20, set.length); 144 Expect.equals(20, set.length);
147 for (int i = 0; i < 20; i++) { 145 for (int i = 0; i < 20; i++) {
148 Expect.equals(true, set.contains(i)); 146 Expect.equals(true, set.contains(i));
149 } 147 }
150 148
151 // Test Set.removeAll 149 // Test Set.removeAll
152 set.removeAll(list); 150 set.removeAll(list);
153 Expect.equals(10, set.length); 151 Expect.equals(10, set.length);
154 for (int i = 0; i < 10; i++) { 152 for (int i = 0; i < 10; i++) {
155 Expect.equals(true, set.contains(i)); 153 Expect.equals(true, set.contains(i));
156 } 154 }
157 for (int i = 10; i < 20; i++) { 155 for (int i = 10; i < 20; i++) {
158 Expect.equals(false, set.contains(i)); 156 Expect.equals(false, set.contains(i));
159 } 157 }
160 158
161 // Test Set.clear. 159 // Test Set.clear.
162 set.clear(); 160 set.clear();
163 Expect.equals(0, set.length); 161 Expect.equals(0, set.length);
164 set.add(11); 162 set.add(11);
165 Expect.equals(1, set.length); 163 Expect.equals(1, set.length);
166 }
167 } 164 }
168 165
169 main() { 166 main() {
170 SetTest.testMain(); 167 testMain(() => new Set());
168 testMain(() => new HashSet());
171 } 169 }
OLDNEW
« sdk/lib/collection/splay_tree.dart ('K') | « tests/corelib/map_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698