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 static final fields. | 4 // Dart test program for testing static const fields. |
5 | 5 |
6 interface Spain { | 6 abstract class Spain { |
7 static final AG = "Antoni Gaudi"; | 7 static const AG = "Antoni Gaudi"; |
8 static final SD = "Salvador Dali"; | 8 static const SD = "Salvador Dali"; |
9 } | 9 } |
10 | 10 |
11 interface Switzerland { | 11 abstract class Switzerland { |
12 static final AG = "Alberto Giacometti"; | 12 static const AG = "Alberto Giacometti"; |
13 static final LC = "Le Corbusier"; | 13 static const LC = "Le Corbusier"; |
14 } | 14 } |
15 | 15 |
16 class A implements Switzerland { | 16 class A implements Switzerland { |
17 const A() : n = 5; | 17 const A() : n = 5; |
18 final n; | 18 final n; |
19 static final a = const A(); | 19 static const a = const A(); |
20 static final b = 3 + 5; | 20 static const b = 3 + 5; |
21 static final c = A.b + 7; | 21 static const c = A.b + 7; |
22 static final d = const A(); | 22 static const d = const A(); |
23 static final s1 = "hula"; | 23 static const s1 = "hula"; |
24 static final s2 = "hula"; | 24 static const s2 = "hula"; |
25 static final s3 = "hop"; | 25 static const s3 = "hop"; |
26 static final d1 = 1.1; | 26 static const d1 = 1.1; |
27 static final d2 = 0.55 + 0.55; | 27 static const d2 = 0.55 + 0.55; |
28 static final artist2 = Switzerland.AG; | 28 static const artist2 = Switzerland.AG; |
29 static final architect1 = Spain.AG; | 29 static const architect1 = Spain.AG; |
30 static final array1 = const <int>[1, 2]; | 30 static const array1 = const <int>[1, 2]; |
31 static final map1 = const {"Monday": 1, "Tuesday": 2, }; | 31 static const map1 = const {"Monday": 1, "Tuesday": 2, }; |
32 } | 32 } |
33 | 33 |
34 class StaticFinalFieldTest { | 34 class StaticFinalFieldTest { |
35 static testMain() { | 35 static testMain() { |
36 Expect.equals(15, A.c); | 36 Expect.equals(15, A.c); |
37 Expect.equals(8, A.b); | 37 Expect.equals(8, A.b); |
38 Expect.equals(5, A.a.n); | 38 Expect.equals(5, A.a.n); |
39 Expect.equals(true, 8 === A.b); | 39 Expect.equals(true, 8 === A.b); |
40 Expect.equals(true, A.a === A.d); | 40 Expect.equals(true, A.a === A.d); |
41 Expect.equals(true, A.s1 === A.s2); | 41 Expect.equals(true, A.s1 === A.s2); |
42 Expect.equals(false, A.s1 === A.s3); | 42 Expect.equals(false, A.s1 === A.s3); |
43 Expect.equals(false, A.s1 === A.b); | 43 Expect.equals(false, A.s1 === A.b); |
44 Expect.equals(true, A.d1 === A.d2); | 44 Expect.equals(true, A.d1 === A.d2); |
45 Expect.equals(true, Spain.SD == "Salvador Dali"); | 45 Expect.equals(true, Spain.SD == "Salvador Dali"); |
46 Expect.equals(true, A.artist2 == "Alberto Giacometti"); | 46 Expect.equals(true, A.artist2 == "Alberto Giacometti"); |
47 Expect.equals(true, A.architect1 == "Antoni Gaudi"); | 47 Expect.equals(true, A.architect1 == "Antoni Gaudi"); |
48 Expect.equals(2, A.map1["Tuesday"]); | 48 Expect.equals(2, A.map1["Tuesday"]); |
49 } | 49 } |
50 } | 50 } |
51 | 51 |
52 main() { | 52 main() { |
53 StaticFinalFieldTest.testMain(); | 53 StaticFinalFieldTest.testMain(); |
54 } | 54 } |
OLD | NEW |