OLD | NEW |
| (Empty) |
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 | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 // Test GrowableArray.dart. | |
5 | |
6 #library("GrowableObjectArray2Test.dart"); | |
7 #import("dart:coreimpl"); | |
8 | |
9 class GrowableObjectArray2Test { | |
10 static testMain() { | |
11 var g = new GrowableObjectArray(); | |
12 Expect.equals(true, g is List); | |
13 Expect.equals(true, g is GrowableObjectArray); | |
14 Expect.equals(true, g.isEmpty()); | |
15 for (int i = 0; i < 100; i++) { | |
16 g.add(1); | |
17 } | |
18 g.add(1001); | |
19 Expect.equals(101, g.length); | |
20 Expect.equals(1001, g[100]); | |
21 Expect.equals(false, g.isEmpty()); | |
22 Expect.equals(1001, g.last()); | |
23 Expect.equals(1001, g.removeLast()); | |
24 Expect.equals(100, g.length); | |
25 | |
26 var f = new GrowableObjectArray(); | |
27 var list = new List(20); | |
28 for (int i = 0; i < list.length; i++) { | |
29 f.add(2); | |
30 list[i] = 5; | |
31 } | |
32 list.copyFrom(f, 0, 0, f.length); | |
33 for (int i = 0; i < f.length; i++) { | |
34 Expect.equals(2, list[i]); | |
35 } | |
36 f.copyFrom(g, 10, 0, 2); | |
37 Expect.equals(20, f.length); | |
38 | |
39 bool exceptionCaught = false; | |
40 try { | |
41 var elem = g[g.length]; | |
42 } catch (IndexOutOfRangeException e) { | |
43 exceptionCaught = true; | |
44 } | |
45 Expect.equals(true, exceptionCaught); | |
46 | |
47 List<int> plainArray = [4, 3, 9, 12, -4, 9]; | |
48 GrowableObjectArray h = new GrowableObjectArray.withCapacity(4); | |
49 plainArray.forEach((elem) { h.add(elem); }); | |
50 int compare(a, b) { | |
51 if (a < b) return -1; | |
52 if (a > b) return 1; | |
53 return 0; | |
54 } | |
55 h.sort(compare); | |
56 Expect.equals(6, h.length); | |
57 Expect.equals(-4, h[0]); | |
58 Expect.equals(12, h[h.length - 1]); | |
59 Set<int> t = new Set<int>.from(h); | |
60 Expect.equals(true, t.contains(9)); | |
61 Expect.equals(true, t.contains(-4)); | |
62 Expect.equals(false, t.contains(-3)); | |
63 Expect.equals(5, t.length); | |
64 | |
65 h.clear(); | |
66 List array = const [0, 1, 2, 3, 4]; | |
67 h.addAll(array); | |
68 Expect.equals(5, h.length); | |
69 } | |
70 } | |
71 | |
72 main() { | |
73 GrowableObjectArray2Test.testMain(); | |
74 } | |
OLD | NEW |