OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 import 'package:expect/expect.dart'; | 5 import 'package:expect/expect.dart'; |
6 | 6 |
7 class C { | 7 class C { |
8 final field; | 8 final field; |
9 const C(this.field); | 9 const C(this.field); |
10 } | 10 } |
11 | 11 |
12 const c1 = const C(0.0); | 12 const c1 = const C(0.0); |
13 const c2 = const C(0); | 13 const c2 = const C(0); |
14 const c3 = const C(0.5 + 0.5); | 14 const c3 = const C(0.5 + 0.5); |
15 const c4 = const C(1); | 15 const c4 = const C(1); |
16 | 16 |
17 main() { | 17 main() { |
18 Expect.equals('0.0', test(c1)); //# 01: ok | 18 Expect.equals('0.0', test(c1)); //# 01: ok |
19 Expect.equals('0', test(c2)); // //# 02: ok | 19 Expect.equals('0', test(c2)); // //# 02: ok |
20 Expect.equals('1.0', test(c3)); //# 03: ok | 20 Expect.equals('1.0', test(c3)); //# 03: ok |
21 Expect.equals('1', test(c4)); // //# 04: ok | 21 Expect.equals('1', test(c4)); // //# 04: ok |
22 } | 22 } |
23 | 23 |
24 String test(C c) { | 24 String test(C c) { |
25 switch (c) { | 25 switch (c) { |
26 case const C(0.0): | 26 case const C(0.0): return '0.0'; |
27 return '0.0'; | 27 case const C(0): return '0'; |
28 case const C(0): | 28 case const C(1.0): return '1.0'; |
29 return '0'; | 29 case const C(1): return '1'; |
30 case const C(1.0): | |
31 return '1.0'; | |
32 case const C(1): | |
33 return '1'; | |
34 } | 30 } |
35 return null; | 31 return null; |
36 } | 32 } |
OLD | NEW |