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

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

Issue 12262037: Make List.skip, List.take and List.reversed return Iterables, not Lists. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 main() { 5 main() {
6 List<int> list1 = <int>[1, 2, 3]; 6 List<int> list1 = <int>[1, 2, 3];
7 List<int> list2 = const <int>[4, 5]; 7 List<int> list2 = const <int>[4, 5];
8 List<String> list3 = <String>[]; 8 List<String> list3 = <String>[];
9 Set<int> set1 = new Set<int>(); 9 Set<int> set1 = new Set<int>();
10 set1..add(11) 10 set1..add(11)
11 ..add(12) 11 ..add(12)
12 ..add(13); 12 ..add(13);
13 Set set2 = new Set(); 13 Set set2 = new Set();
14 14
15 Iterable<int> skip0 = list1.skip(0); 15 Iterable<int> skip0 = list1.skip(0);
16 Expect.isTrue(skip0 is List);
floitsch 2013/02/14 15:33:07 Alternatively make sure it is *not* a list.
Lasse Reichstein Nielsen 2013/02/15 14:04:26 Done.
17 Iterator<int> it = skip0.iterator; 16 Iterator<int> it = skip0.iterator;
18 Expect.isNull(it.current); 17 Expect.isNull(it.current);
19 Expect.isTrue(it.moveNext()); 18 Expect.isTrue(it.moveNext());
20 Expect.equals(1, it.current); 19 Expect.equals(1, it.current);
21 Expect.isTrue(it.moveNext()); 20 Expect.isTrue(it.moveNext());
22 Expect.equals(2, it.current); 21 Expect.equals(2, it.current);
23 Expect.isTrue(it.moveNext()); 22 Expect.isTrue(it.moveNext());
24 Expect.equals(3, it.current); 23 Expect.equals(3, it.current);
25 Expect.isFalse(it.moveNext()); 24 Expect.isFalse(it.moveNext());
26 Expect.isNull(it.current); 25 Expect.isNull(it.current);
27 26
28 Iterable<int> skip1 = list1.skip(1); 27 Iterable<int> skip1 = list1.skip(1);
29 Expect.isTrue(skip1 is List);
30 Expect.isTrue(skip1.skip(2).skip(1) is List);
31 it = skip1.iterator; 28 it = skip1.iterator;
32 Expect.isNull(it.current); 29 Expect.isNull(it.current);
33 Expect.isTrue(it.moveNext()); 30 Expect.isTrue(it.moveNext());
34 Expect.equals(2, it.current); 31 Expect.equals(2, it.current);
35 Expect.isTrue(it.moveNext()); 32 Expect.isTrue(it.moveNext());
36 Expect.equals(3, it.current); 33 Expect.equals(3, it.current);
37 Expect.isFalse(it.moveNext()); 34 Expect.isFalse(it.moveNext());
38 Expect.isNull(it.current); 35 Expect.isNull(it.current);
39 36
40 Iterable<int> skip2 = list1.skip(2); 37 Iterable<int> skip2 = list1.skip(2);
41 Expect.isTrue(skip2 is List);
42 Expect.isTrue(skip2.skip(2).skip(1) is List);
43 it = skip2.iterator; 38 it = skip2.iterator;
44 Expect.isNull(it.current); 39 Expect.isNull(it.current);
45 Expect.isTrue(it.moveNext()); 40 Expect.isTrue(it.moveNext());
46 Expect.equals(3, it.current); 41 Expect.equals(3, it.current);
47 Expect.isFalse(it.moveNext()); 42 Expect.isFalse(it.moveNext());
48 Expect.isNull(it.current); 43 Expect.isNull(it.current);
49 44
50 Iterable<int> skip3 = list1.skip(3); 45 Iterable<int> skip3 = list1.skip(3);
51 Expect.isTrue(skip3 is List);
52 Expect.isTrue(skip3.skip(2).skip(1) is List);
53 it = skip3.iterator; 46 it = skip3.iterator;
54 Expect.isNull(it.current); 47 Expect.isNull(it.current);
55 Expect.isFalse(it.moveNext()); 48 Expect.isFalse(it.moveNext());
56 Expect.isNull(it.current); 49 Expect.isNull(it.current);
57 50
58 Iterable<int> skip4 = list1.skip(4); 51 Iterable<int> skip4 = list1.skip(4);
59 Expect.isTrue(skip4 is List);
60 Expect.isTrue(skip4.skip(2).skip(1) is List);
61 it = skip4.iterator; 52 it = skip4.iterator;
62 Expect.isNull(it.current); 53 Expect.isNull(it.current);
63 Expect.isFalse(it.moveNext()); 54 Expect.isFalse(it.moveNext());
64 Expect.isNull(it.current); 55 Expect.isNull(it.current);
65 56
66 skip0 = list1.skip(0); 57 skip0 = list1.skip(0);
67 skip1 = skip0.skip(1); 58 skip1 = skip0.skip(1);
68 skip2 = skip1.skip(1); 59 skip2 = skip1.skip(1);
69 skip3 = skip2.skip(1); 60 skip3 = skip2.skip(1);
70 skip4 = skip3.skip(1); 61 skip4 = skip3.skip(1);
(...skipping 24 matching lines...) Expand all
95 it = skip3.iterator; 86 it = skip3.iterator;
96 Expect.isNull(it.current); 87 Expect.isNull(it.current);
97 Expect.isFalse(it.moveNext()); 88 Expect.isFalse(it.moveNext());
98 Expect.isNull(it.current); 89 Expect.isNull(it.current);
99 it = skip4.iterator; 90 it = skip4.iterator;
100 Expect.isNull(it.current); 91 Expect.isNull(it.current);
101 Expect.isFalse(it.moveNext()); 92 Expect.isFalse(it.moveNext());
102 Expect.isNull(it.current); 93 Expect.isNull(it.current);
103 94
104 skip0 = list2.skip(0); 95 skip0 = list2.skip(0);
105 Expect.isTrue(skip0 is List);
106 Expect.isTrue(skip0.skip(2).skip(1) is List);
107 it = skip0.iterator; 96 it = skip0.iterator;
108 Expect.isNull(it.current); 97 Expect.isNull(it.current);
109 Expect.isTrue(it.moveNext()); 98 Expect.isTrue(it.moveNext());
110 Expect.equals(4, it.current); 99 Expect.equals(4, it.current);
111 Expect.isTrue(it.moveNext()); 100 Expect.isTrue(it.moveNext());
112 Expect.equals(5, it.current); 101 Expect.equals(5, it.current);
113 Expect.isFalse(it.moveNext()); 102 Expect.isFalse(it.moveNext());
114 Expect.isNull(it.current); 103 Expect.isNull(it.current);
115 104
116 skip1 = list2.skip(1); 105 skip1 = list2.skip(1);
117 Expect.isTrue(skip1 is List);
118 Expect.isTrue(skip1.skip(2).skip(1) is List);
119 it = skip1.iterator; 106 it = skip1.iterator;
120 Expect.isNull(it.current); 107 Expect.isNull(it.current);
121 Expect.isTrue(it.moveNext()); 108 Expect.isTrue(it.moveNext());
122 Expect.equals(5, it.current); 109 Expect.equals(5, it.current);
123 Expect.isFalse(it.moveNext()); 110 Expect.isFalse(it.moveNext());
124 Expect.isNull(it.current); 111 Expect.isNull(it.current);
125 112
126 skip2 = list2.skip(2); 113 skip2 = list2.skip(2);
127 Expect.isTrue(skip2 is List);
128 Expect.isTrue(skip2.skip(2).skip(1) is List);
129 it = skip2.iterator; 114 it = skip2.iterator;
130 Expect.isNull(it.current); 115 Expect.isNull(it.current);
131 Expect.isFalse(it.moveNext()); 116 Expect.isFalse(it.moveNext());
132 Expect.isNull(it.current); 117 Expect.isNull(it.current);
133 118
134 skip3 = list2.skip(3); 119 skip3 = list2.skip(3);
135 Expect.isTrue(skip3 is List);
136 Expect.isTrue(skip3.skip(2).skip(1) is List);
137 it = skip3.iterator; 120 it = skip3.iterator;
138 Expect.isNull(it.current); 121 Expect.isNull(it.current);
139 Expect.isFalse(it.moveNext()); 122 Expect.isFalse(it.moveNext());
140 Expect.isNull(it.current); 123 Expect.isNull(it.current);
141 124
142 Iterable<String> skip02 = list3.skip(0); 125 Iterable<String> skip02 = list3.skip(0);
143 Expect.isTrue(skip02 is List);
144 Expect.isTrue(skip02.skip(2).skip(1) is List);
145 Iterator<String> it2 = skip02.iterator; 126 Iterator<String> it2 = skip02.iterator;
146 Expect.isNull(it2.current); 127 Expect.isNull(it2.current);
147 Expect.isFalse(it2.moveNext()); 128 Expect.isFalse(it2.moveNext());
148 Expect.isNull(it2.current); 129 Expect.isNull(it2.current);
149 130
150 Iterable<String> skip12 = list3.skip(1); 131 Iterable<String> skip12 = list3.skip(1);
151 Expect.isTrue(skip12 is List);
152 Expect.isTrue(skip12.skip(2).skip(1) is List);
153 it2 = skip12.iterator; 132 it2 = skip12.iterator;
154 Expect.isNull(it2.current); 133 Expect.isNull(it2.current);
155 Expect.isFalse(it2.moveNext()); 134 Expect.isFalse(it2.moveNext());
156 Expect.isNull(it2.current); 135 Expect.isNull(it2.current);
157 136
158 skip0 = set1.skip(0); 137 skip0 = set1.skip(0);
159 List<int> copied = skip0.toList(); 138 List<int> copied = skip0.toList();
160 Expect.equals(3, copied.length); 139 Expect.equals(3, copied.length);
161 Expect.isTrue(set1.contains(copied[0])); 140 Expect.isTrue(set1.contains(copied[0]));
162 Expect.isTrue(set1.contains(copied[1])); 141 Expect.isTrue(set1.contains(copied[1]));
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 Expect.isNull(it.current); 197 Expect.isNull(it.current);
219 Expect.isFalse(it.moveNext()); 198 Expect.isFalse(it.moveNext());
220 Expect.isNull(it.current); 199 Expect.isNull(it.current);
221 200
222 skip1 = set2.skip(1); 201 skip1 = set2.skip(1);
223 it = skip1.iterator; 202 it = skip1.iterator;
224 Expect.isNull(it.current); 203 Expect.isNull(it.current);
225 Expect.isFalse(it.moveNext()); 204 Expect.isFalse(it.moveNext());
226 Expect.isNull(it.current); 205 Expect.isNull(it.current);
227 } 206 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698