| /* |
| * 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> take(int count) |
| * Provides at most the first n values of this stream. |
| * Forwards the first n data events of this stream, and all error events, |
| * to the returned stream, and ends with a done event. |
| * If this stream produces fewer than count values before it's done, |
| * so will the returned stream. |
| * @description Checks that at most n elements are returned. |
| * @author kaigorodov |
| */ |
| library take_A01_t01; |
| import "../../../Utils/expect.dart"; |
| |
| void test(CreateStreamFunction create) { |
| AsyncExpect.data([], create([]).take(0)); |
| AsyncExpect.data([], create([]).take(1)); |
| AsyncExpect.data([], create([]).take(10)); |
| |
| AsyncExpect.data([], create([null]).take(0)); |
| AsyncExpect.data([null], create([null]).take(1)); |
| AsyncExpect.data([null], create([null]).take(2)); |
| |
| AsyncExpect.data([], create([1,2,3]).take(0)); |
| AsyncExpect.data([1], create([1,2,3]).take(1)); |
| AsyncExpect.data([1,2], create([1,2,3]).take(2)); |
| AsyncExpect.data([1,2,3], create([1,2,3]).take(12)); |
| |
| AsyncExpect.data([[], [[]]], create([[], [[]], [[[]]]]).take(2)); |
| } |