Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: tests/lib/async/stream_transformation_broadcast_test.dart

Issue 2656743002: Remove package:unittest from some tests (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/lib/async/stream_transform_test.dart ('k') | tests/lib/async/timer_cancel1_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // Test that transformations like `map` and `where` preserve broadcast flag. 5 // Test that transformations like `map` and `where` preserve broadcast flag.
6 library stream_join_test; 6 library stream_join_test;
7 7
8 import 'dart:async'; 8 import 'dart:async';
9 import 'event_helper.dart'; 9 import 'event_helper.dart';
10 import 'package:unittest/unittest.dart'; 10 import 'package:test/test.dart';
11 import "package:expect/expect.dart";
12 11
13 main() { 12 main() {
14 testStream("singlesub", () => new StreamController(), (c) => c.stream); 13 testStream("singlesub", () => new StreamController(), (c) => c.stream);
15 testStream("broadcast", () => new StreamController.broadcast(), 14 testStream("broadcast", () => new StreamController.broadcast(),
16 (c) => c.stream); 15 (c) => c.stream);
17 testStream("asBroadcast", () => new StreamController(), 16 testStream("asBroadcast", () => new StreamController(),
18 (c) => c.stream.asBroadcastStream()); 17 (c) => c.stream.asBroadcastStream());
19 testStream("broadcast.asBroadcast", () => new StreamController.broadcast(), 18 testStream("broadcast.asBroadcast", () => new StreamController.broadcast(),
20 (c) => c.stream.asBroadcastStream()); 19 (c) => c.stream.asBroadcastStream());
21 } 20 }
22 21
23 void testStream(String name, 22 void testStream(String name,
24 StreamController create(), 23 StreamController create(),
25 Stream getStream(controller)) { 24 Stream getStream(controller)) {
26 test("$name-map", () { 25 test("$name-map", () {
27 var c = create(); 26 var c = create();
28 var s = getStream(c); 27 var s = getStream(c);
29 Stream newStream = s.map((x) => x + 1); 28 Stream newStream = s.map((x) => x + 1);
30 Expect.equals(s.isBroadcast, newStream.isBroadcast); 29 expect(s.isBroadcast, equals(newStream.isBroadcast));
31 newStream.single.then(expectAsync((v) { 30 newStream.single.then(expectAsync((v) {
32 Expect.equals(43, v); 31 expect(43, equals(v));
33 })); 32 }));
34 c.add(42); 33 c.add(42);
35 c.close(); 34 c.close();
36 }); 35 });
37 test("$name-where", () { 36 test("$name-where", () {
38 var c = create(); 37 var c = create();
39 var s = getStream(c); 38 var s = getStream(c);
40 Stream newStream = s.where((x) => x.isEven); 39 Stream newStream = s.where((x) => x.isEven);
41 Expect.equals(s.isBroadcast, newStream.isBroadcast); 40 expect(s.isBroadcast, equals(newStream.isBroadcast));
42 newStream.single.then(expectAsync((v) { 41 newStream.single.then(expectAsync((v) {
43 Expect.equals(42, v); 42 expect(42, equals(v));
44 })); 43 }));
45 c.add(37); 44 c.add(37);
46 c.add(42); 45 c.add(42);
47 c.add(87); 46 c.add(87);
48 c.close(); 47 c.close();
49 }); 48 });
50 test("$name-handleError", () { 49 test("$name-handleError", () {
51 var c = create(); 50 var c = create();
52 var s = getStream(c); 51 var s = getStream(c);
53 Stream newStream = s.handleError((x, s) {}); 52 Stream newStream = s.handleError((x, s) {});
54 Expect.equals(s.isBroadcast, newStream.isBroadcast); 53 expect(s.isBroadcast, equals(newStream.isBroadcast));
55 newStream.single.then(expectAsync((v) { 54 newStream.single.then(expectAsync((v) {
56 Expect.equals(42, v); 55 expect(42, equals(v));
57 })); 56 }));
58 c.addError("BAD1"); 57 c.addError("BAD1");
59 c.add(42); 58 c.add(42);
60 c.addError("BAD2"); 59 c.addError("BAD2");
61 c.close(); 60 c.close();
62 }); 61 });
63 test("$name-expand", () { 62 test("$name-expand", () {
64 var c = create(); 63 var c = create();
65 var s = getStream(c); 64 var s = getStream(c);
66 Stream newStream = s.expand((x) => x.isEven ? [x] : []); 65 Stream newStream = s.expand((x) => x.isEven ? [x] : []);
67 Expect.equals(s.isBroadcast, newStream.isBroadcast); 66 expect(s.isBroadcast, equals(newStream.isBroadcast));
68 newStream.single.then(expectAsync((v) { 67 newStream.single.then(expectAsync((v) {
69 Expect.equals(42, v); 68 expect(42, equals(v));
70 })); 69 }));
71 c.add(37); 70 c.add(37);
72 c.add(42); 71 c.add(42);
73 c.add(87); 72 c.add(87);
74 c.close(); 73 c.close();
75 }); 74 });
76 test("$name-transform", () { 75 test("$name-transform", () {
77 var c = create(); 76 var c = create();
78 var s = getStream(c); 77 var s = getStream(c);
79 // TODO: find name of default transformer 78 // TODO: find name of default transformer
80 var t = new StreamTransformer.fromHandlers( 79 var t = new StreamTransformer.fromHandlers(
81 handleData: (value, EventSink sink) { sink.add(value); } 80 handleData: (value, EventSink sink) { sink.add(value); }
82 ); 81 );
83 Stream newStream = s.transform(t); 82 Stream newStream = s.transform(t);
84 Expect.equals(s.isBroadcast, newStream.isBroadcast); 83 expect(s.isBroadcast, equals(newStream.isBroadcast));
85 newStream.single.then(expectAsync((v) { 84 newStream.single.then(expectAsync((v) {
86 Expect.equals(42, v); 85 expect(42, equals(v));
87 })); 86 }));
88 c.add(42); 87 c.add(42);
89 c.close(); 88 c.close();
90 }); 89 });
91 test("$name-take", () { 90 test("$name-take", () {
92 var c = create(); 91 var c = create();
93 var s = getStream(c); 92 var s = getStream(c);
94 Stream newStream = s.take(1); 93 Stream newStream = s.take(1);
95 Expect.equals(s.isBroadcast, newStream.isBroadcast); 94 expect(s.isBroadcast, equals(newStream.isBroadcast));
96 newStream.single.then(expectAsync((v) { 95 newStream.single.then(expectAsync((v) {
97 Expect.equals(42, v); 96 expect(42, equals(v));
98 })); 97 }));
99 c.add(42); 98 c.add(42);
100 c.add(37); 99 c.add(37);
101 c.close(); 100 c.close();
102 }); 101 });
103 test("$name-takeWhile", () { 102 test("$name-takeWhile", () {
104 var c = create(); 103 var c = create();
105 var s = getStream(c); 104 var s = getStream(c);
106 Stream newStream = s.takeWhile((x) => x.isEven); 105 Stream newStream = s.takeWhile((x) => x.isEven);
107 Expect.equals(s.isBroadcast, newStream.isBroadcast); 106 expect(s.isBroadcast, equals(newStream.isBroadcast));
108 newStream.single.then(expectAsync((v) { 107 newStream.single.then(expectAsync((v) {
109 Expect.equals(42, v); 108 expect(42, equals(v));
110 })); 109 }));
111 c.add(42); 110 c.add(42);
112 c.add(37); 111 c.add(37);
113 c.close(); 112 c.close();
114 }); 113 });
115 test("$name-skip", () { 114 test("$name-skip", () {
116 var c = create(); 115 var c = create();
117 var s = getStream(c); 116 var s = getStream(c);
118 Stream newStream = s.skip(1); 117 Stream newStream = s.skip(1);
119 Expect.equals(s.isBroadcast, newStream.isBroadcast); 118 expect(s.isBroadcast, equals(newStream.isBroadcast));
120 newStream.single.then(expectAsync((v) { 119 newStream.single.then(expectAsync((v) {
121 Expect.equals(42, v); 120 expect(42, equals(v));
122 })); 121 }));
123 c.add(37); 122 c.add(37);
124 c.add(42); 123 c.add(42);
125 c.close(); 124 c.close();
126 }); 125 });
127 test("$name-skipWhile", () { 126 test("$name-skipWhile", () {
128 var c = create(); 127 var c = create();
129 var s = getStream(c); 128 var s = getStream(c);
130 Stream newStream = s.skipWhile((x) => x.isOdd); 129 Stream newStream = s.skipWhile((x) => x.isOdd);
131 Expect.equals(s.isBroadcast, newStream.isBroadcast); 130 expect(s.isBroadcast, equals(newStream.isBroadcast));
132 newStream.single.then(expectAsync((v) { 131 newStream.single.then(expectAsync((v) {
133 Expect.equals(42, v); 132 expect(42, equals(v));
134 })); 133 }));
135 c.add(37); 134 c.add(37);
136 c.add(42); 135 c.add(42);
137 c.close(); 136 c.close();
138 }); 137 });
139 test("$name-distinct", () { 138 test("$name-distinct", () {
140 var c = create(); 139 var c = create();
141 var s = getStream(c); 140 var s = getStream(c);
142 Stream newStream = s.distinct(); 141 Stream newStream = s.distinct();
143 Expect.equals(s.isBroadcast, newStream.isBroadcast); 142 expect(s.isBroadcast, equals(newStream.isBroadcast));
144 newStream.single.then(expectAsync((v) { 143 newStream.single.then(expectAsync((v) {
145 Expect.equals(42, v); 144 expect(42, equals(v));
146 })); 145 }));
147 c.add(42); 146 c.add(42);
148 c.add(42); 147 c.add(42);
149 c.close(); 148 c.close();
150 }); 149 });
151 test("$name-timeout", () { 150 test("$name-timeout", () {
152 var c = create(); 151 var c = create();
153 var s = getStream(c); 152 var s = getStream(c);
154 Stream newStream = s.timeout(const Duration(seconds: 1)); 153 Stream newStream = s.timeout(const Duration(seconds: 1));
155 Expect.equals(s.isBroadcast, newStream.isBroadcast); 154 expect(s.isBroadcast, equals(newStream.isBroadcast));
156 newStream.single.then(expectAsync((v) { 155 newStream.single.then(expectAsync((v) {
157 Expect.equals(42, v); 156 expect(42, equals(v));
158 })); 157 }));
159 c.add(42); 158 c.add(42);
160 c.close(); 159 c.close();
161 }); 160 });
162 test("$name-asyncMap", () { 161 test("$name-asyncMap", () {
163 var c = create(); 162 var c = create();
164 var s = getStream(c); 163 var s = getStream(c);
165 Stream newStream = s.asyncMap((x) => new Future.value(x + 1)); 164 Stream newStream = s.asyncMap((x) => new Future.value(x + 1));
166 Expect.equals(s.isBroadcast, newStream.isBroadcast); 165 expect(s.isBroadcast, equals(newStream.isBroadcast));
167 newStream.single.then(expectAsync((v) { 166 newStream.single.then(expectAsync((v) {
168 Expect.equals(43, v); 167 expect(43, equals(v));
169 })); 168 }));
170 c.add(42); 169 c.add(42);
171 c.close(); 170 c.close();
172 }); 171 });
173 test("$name-asyncExpand", () { 172 test("$name-asyncExpand", () {
174 var c = create(); 173 var c = create();
175 var s = getStream(c); 174 var s = getStream(c);
176 Stream newStream = s.asyncExpand((x) => new Stream.fromIterable([x + 1])); 175 Stream newStream = s.asyncExpand((x) => new Stream.fromIterable([x + 1]));
177 Expect.equals(s.isBroadcast, newStream.isBroadcast); 176 expect(s.isBroadcast, equals(newStream.isBroadcast));
178 newStream.single.then(expectAsync((v) { 177 newStream.single.then(expectAsync((v) {
179 Expect.equals(43, v); 178 expect(43, equals(v));
180 })); 179 }));
181 c.add(42); 180 c.add(42);
182 c.close(); 181 c.close();
183 }); 182 });
184 183
185 // The following tests are only on broadcast streams, they require listening 184 // The following tests are only on broadcast streams, they require listening
186 // more than once. 185 // more than once.
187 if (name.startsWith("singlesub")) return; 186 if (name.startsWith("singlesub")) return;
188 187
189 test("$name-skip-multilisten", () { 188 test("$name-skip-multilisten", () {
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 scheduleMicrotask(loop); 314 scheduleMicrotask(loop);
316 }); 315 });
317 316
318 test("$name-takeWhile-multilisten", () { 317 test("$name-takeWhile-multilisten", () {
319 var c = create(); 318 var c = create();
320 var s = getStream(c); 319 var s = getStream(c);
321 Stream newStream = s.takeWhile((x) => (x % 10) != 5); 320 Stream newStream = s.takeWhile((x) => (x % 10) != 5);
322 // Listen immediately, to ensure that an asBroadcast stream is started. 321 // Listen immediately, to ensure that an asBroadcast stream is started.
323 var sub = newStream.listen((_){}); 322 var sub = newStream.listen((_){});
324 int i = 0; 323 int i = 0;
325 // Non-overlapping ranges means the test must not remember its first 324 // Non-overlapping ranges means the test must not remember its first
326 // failure. 325 // failure.
327 var expect1 = 6; 326 var expect1 = 6;
328 var expect2 = 16; 327 var expect2 = 16;
329 var handler2 = expectAsync((v) { 328 var handler2 = expectAsync((v) {
330 expect(v, expect2); 329 expect(v, expect2);
331 expect(v <= 25, isTrue); 330 expect(v <= 25, isTrue);
332 expect2++; 331 expect2++;
333 }, count: 9); 332 }, count: 9);
334 var handler1 = expectAsync((v) { 333 var handler1 = expectAsync((v) {
335 expect(v, expect1); 334 expect(v, expect1);
(...skipping 17 matching lines...) Expand all
353 if (i < 25) { 352 if (i < 25) {
354 scheduleMicrotask(loop); 353 scheduleMicrotask(loop);
355 } else { 354 } else {
356 sub.cancel(); 355 sub.cancel();
357 c.close(); 356 c.close();
358 } 357 }
359 }, count: 25); 358 }, count: 25);
360 scheduleMicrotask(loop); 359 scheduleMicrotask(loop);
361 }); 360 });
362 } 361 }
OLDNEW
« no previous file with comments | « tests/lib/async/stream_transform_test.dart ('k') | tests/lib/async/timer_cancel1_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698