| // Copyright (c) 2011, 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 E elementAt(int index) |
| /// Returns the indexth element. |
| /// The index must be non-negative and less than length. Index zero represents |
| /// the first element (so iterable.elementAt(0) is equivalent to iterable.first). |
| /// May iterate through the elements in iteration order, skipping the first index |
| /// elements and returning the next. Some iterable may have more efficient ways |
| /// to find the element. |
| /// @description Checks that a RangeError is thrown if this list has fewer than |
| /// index elements. |
| /// @author kaigorodov |
| |
| library elementAt_A02_t01; |
| |
| import "../../../Utils/expect.dart"; |
| |
| var v; |
| |
| void check (Iterable a, int index) { |
| Expect.throws(() {v = a.elementAt(index);}, (e) => e is RangeError ); |
| } |
| |
| test(Iterable create([Iterable content])) { |
| List a = [5, 4, 3, 2, 1, 0]; |
| check(create(a), -1); |
| check(create(a), a.length); |
| check(create(a), a.length + 1); |
| check(create(a), a.length * 2); |
| check(create(a), 1000000000); |
| } |