| // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /** |
| * @assertion The declaration of an enum of the form |
| * metadata enum E { id 0 , . . . id n−1 }; |
| * has the same effect as a class declaration |
| * metadata class E { |
| * final int index; |
| * const E(this.index); |
| * static const E id 0 = const E(0); |
| * ... |
| * static const E id n−1 = const E(n - 1); |
| * static const List<E> values = const <E>[id 0 . . . id n−1 ]; |
| * String toString() => { 0: ‘E.id 0 ’, . . ., n-1: ‘E.id n−1 ’}[index] |
| * } |
| * @description Checks that enum values contains the same members as |
| * enum elements |
| * @author sgrekhov@unipro.ru |
| */ |
| |
| import "../../Utils/expect.dart"; |
| |
| enum E {a, b, c} |
| |
| main() { |
| Expect.identical(E.a, E.values[0]); |
| Expect.identical(E.b, E.values[1]); |
| Expect.identical(E.c, E.values[2]); |
| |
| } |