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 // Dart test program for testing index operators. | 4 // Dart test program for testing index operators. |
5 | 5 |
6 class Helper { | 6 class Helper { |
7 static int fibonacci(int n) { | 7 static int fibonacci(int n) { |
8 int a = 0, b = 1, i = 0; | 8 int a = 0, b = 1, i = 0; |
9 while (i++ < n) { | 9 while (i++ < n) { |
10 a = a + b; | 10 a = a + b; |
11 b = a - b; | 11 b = a - b; |
12 } | 12 } |
13 return a; | 13 return a; |
14 } | 14 } |
15 } | 15 } |
16 | 16 |
17 class IndexTest { | 17 class IndexTest { |
18 static const ID_IDLE = 0; | 18 static const ID_IDLE = 0; |
19 | 19 |
20 static testMain() { | 20 static testMain() { |
21 var a = new List.fixedLength(10); | 21 var a = new List(10); |
22 Expect.equals(10, a.length); | 22 Expect.equals(10, a.length); |
23 for (int i = 0; i < a.length; i++) { | 23 for (int i = 0; i < a.length; i++) { |
24 a[i] = Helper.fibonacci(i); | 24 a[i] = Helper.fibonacci(i); |
25 } | 25 } |
26 a[ID_IDLE] = Helper.fibonacci(0); | 26 a[ID_IDLE] = Helper.fibonacci(0); |
27 for (int i = 2; i < a.length; i++) { | 27 for (int i = 2; i < a.length; i++) { |
28 Expect.equals(a[i-2] + a[i-1], a[i]); | 28 Expect.equals(a[i-2] + a[i-1], a[i]); |
29 } | 29 } |
30 Expect.equals(515, a[3] = 515); | 30 Expect.equals(515, a[3] = 515); |
31 } | 31 } |
32 } | 32 } |
33 | 33 |
34 main() { | 34 main() { |
35 IndexTest.testMain(); | 35 IndexTest.testMain(); |
36 } | 36 } |
OLD | NEW |