OLD | NEW |
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 class ListIteratorsTest { | 5 class ListIteratorsTest { |
6 static void checkListIterator(List a) { | 6 static void checkListIterator(List a) { |
7 Iterator it = a.iterator(); | 7 Iterator it = a.iterator(); |
8 Expect.equals(false, it.hasNext() == a.isEmpty()); | 8 Expect.equals(false, it.hasNext == a.isEmpty()); |
9 for (int i = 0; i < a.length; i++) { | 9 for (int i = 0; i < a.length; i++) { |
10 Expect.equals(true, it.hasNext()); | 10 Expect.equals(true, it.hasNext); |
11 var elem = it.next(); | 11 var elem = it.next(); |
12 } | 12 } |
13 Expect.equals(false, it.hasNext()); | 13 Expect.equals(false, it.hasNext); |
14 bool exceptionCaught = false; | 14 bool exceptionCaught = false; |
15 try { | 15 try { |
16 var eleme = it.next(); | 16 var eleme = it.next(); |
17 } on NoMoreElementsException catch (e) { | 17 } on NoMoreElementsException catch (e) { |
18 exceptionCaught = true; | 18 exceptionCaught = true; |
19 } | 19 } |
20 Expect.equals(true, exceptionCaught); | 20 Expect.equals(true, exceptionCaught); |
21 } | 21 } |
22 | 22 |
23 static testMain() { | 23 static testMain() { |
24 checkListIterator([]); | 24 checkListIterator([]); |
25 checkListIterator([1, 2]); | 25 checkListIterator([1, 2]); |
26 checkListIterator(new List(0)); | 26 checkListIterator(new List(0)); |
27 checkListIterator(new List(10)); | 27 checkListIterator(new List(10)); |
28 checkListIterator(new List()); | 28 checkListIterator(new List()); |
29 List g = new List(); | 29 List g = new List(); |
30 g.addAll([1, 2]); | 30 g.addAll([1, 2]); |
31 checkListIterator(g); | 31 checkListIterator(g); |
32 | 32 |
33 Iterator it = g.iterator(); | 33 Iterator it = g.iterator(); |
34 Expect.equals(true, it.hasNext()); | 34 Expect.equals(true, it.hasNext); |
35 g.removeLast(); | 35 g.removeLast(); |
36 Expect.equals(true, it.hasNext()); | 36 Expect.equals(true, it.hasNext); |
37 g.removeLast(); | 37 g.removeLast(); |
38 Expect.equals(false, it.hasNext()); | 38 Expect.equals(false, it.hasNext); |
39 | 39 |
40 g.addAll([10, 20]); | 40 g.addAll([10, 20]); |
41 int sum = 0; | 41 int sum = 0; |
42 for (var elem in g) { | 42 for (var elem in g) { |
43 sum += elem; | 43 sum += elem; |
44 // Iterator must realize that g has no more elements. | 44 // Iterator must realize that g has no more elements. |
45 g.removeLast(); | 45 g.removeLast(); |
46 } | 46 } |
47 Expect.equals(10, sum); | 47 Expect.equals(10, sum); |
48 } | 48 } |
49 } | 49 } |
50 | 50 |
51 main() { | 51 main() { |
52 ListIteratorsTest.testMain(); | 52 ListIteratorsTest.testMain(); |
53 } | 53 } |
OLD | NEW |