OLD | NEW |
(Empty) | |
| 1 // Copyright 2013 Google Inc. All Rights Reserved. |
| 2 // |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 // you may not use this file except in compliance with the License. |
| 5 // You may obtain a copy of the License at |
| 6 // |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 |
| 8 // |
| 9 // Unless required by applicable law or agreed to in writing, software |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, |
| 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 // See the License for the specific language governing permissions and |
| 13 // limitations under the License. |
| 14 |
| 15 library quiver.iterables.range_test; |
| 16 |
| 17 import 'package:test/test.dart'; |
| 18 import 'package:quiver/iterables.dart'; |
| 19 |
| 20 main() { |
| 21 group('range', () { |
| 22 test("should create an empty iterator if stop is 0", () { |
| 23 expect(range(0), []); |
| 24 }); |
| 25 |
| 26 test("should create a sequence from 0 to stop - 1", () { |
| 27 expect(range(10), [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]); |
| 28 }); |
| 29 |
| 30 test("should start sequences at start_or_stop", () { |
| 31 expect(range(1, 11), [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); |
| 32 }); |
| 33 |
| 34 test("should create an empty iterator if start and stop are equal", () { |
| 35 expect(range(1, 1), []); |
| 36 }); |
| 37 |
| 38 test("should step by step", () { |
| 39 expect(range(0, 10, 2), [0, 2, 4, 6, 8]); |
| 40 expect(range(0, 10, 3), [0, 3, 6, 9]); |
| 41 }); |
| 42 |
| 43 test("should step by a negative step", () { |
| 44 expect(range(10, 0, -1), [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]); |
| 45 expect(range(0, -8, -1), [0, -1, -2, -3, -4, -5, -6, -7]); |
| 46 expect(range(0, -10, -3), [0, -3, -6, -9]); |
| 47 }); |
| 48 |
| 49 test("should throw with a bad range", () { |
| 50 expect(() => range(10, 0), throws); |
| 51 }); |
| 52 |
| 53 test("should throw with a bad step", () { |
| 54 expect(() => range(0, 10, -1), throws); |
| 55 }); |
| 56 }); |
| 57 } |
OLD | NEW |