| // 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 Stream<T> skip(int count) |
| * Skips the first count data events from this stream. |
| * Returns a stream that emits the same events as this stream would |
| * if listened to at the same time, except that the first [count] |
| * data events are not emitted. |
| * The returned stream is done when this stream is. |
| * If this stream emits fewer than [count] data events |
| * before being done, the returned stream emits no data events. |
| * @description Checks that errors in the input stream are propagated to the |
| * returned stream. |
| * @author a.semenov@unipro.ru |
| */ |
| library skip_A03_t01; |
| |
| import "../../../Utils/expect.dart"; |
| |
| void test(CreateStreamWithErrorsFunction create) { |
| AsyncExpect.events([], [1, 2, 3], |
| create([1, 2, 3], isError: (_) => true, defVal: 42).skip(0)); |
| AsyncExpect.events([], [1, 2, 3], |
| create([1, 2, 3], isError: (_) => true, defVal: 42).skip(1)); |
| AsyncExpect.events([], [1, 2, 3], |
| create([1, 2, 3], isError: (_) => true, defVal: 42).skip(10)); |
| |
| AsyncExpect.events( |
| [], |
| [1, 3, 5], |
| create<int>([1, 2, 3, 4, 5], isError: (x) => x.isOdd, defVal: 42) |
| .skip(10)); |
| AsyncExpect.events( |
| [3, 5], |
| [2, 4], |
| create<int>([1, 2, 3, 4, 5], isError: (x) => x.isEven, defVal: 42) |
| .skip(1)); |
| AsyncExpect.events( |
| [5], |
| [2, 4], |
| create<int>([1, 2, 3, 4, 5], isError: (x) => x.isEven, defVal: 42) |
| .skip(2)); |
| } |