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

Side by Side Diff: pkg/analyzer/test/src/task/inputs_test.dart

Issue 1147853002: Properly handle circular references among constants in the task model. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 7 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
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 library test.src.task.inputs_test; 5 library test.src.task.inputs_test;
6 6
7 import 'package:analyzer/src/task/inputs.dart'; 7 import 'package:analyzer/src/task/inputs.dart';
8 import 'package:analyzer/src/task/model.dart'; 8 import 'package:analyzer/src/task/model.dart';
9 import 'package:analyzer/task/model.dart'; 9 import 'package:analyzer/task/model.dart';
10 import 'package:unittest/unittest.dart'; 10 import 'package:unittest/unittest.dart';
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 } 88 }
89 89
90 test_currentResult_afterComplete() { 90 test_currentResult_afterComplete() {
91 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input); 91 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
92 builder.moveNext(); 92 builder.moveNext();
93 builder.currentValue = []; 93 builder.currentValue = [];
94 builder.moveNext(); 94 builder.moveNext();
95 expect(builder.currentResult, null); 95 expect(builder.currentResult, null);
96 } 96 }
97 97
98 test_currentResult_afterCurrentValueNotAvailable() {
99 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
100 builder.moveNext();
101 builder.currentValueNotAvailable();
102 builder.moveNext();
103 expect(builder.currentResult, null);
104 }
105
98 test_currentResult_afterOneMoveNext() { 106 test_currentResult_afterOneMoveNext() {
99 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input); 107 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
100 builder.moveNext(); 108 builder.moveNext();
101 expect(builder.currentResult, result1); 109 expect(builder.currentResult, result1);
102 } 110 }
103 111
104 test_currentResult_beforeMoveNext() { 112 test_currentResult_beforeMoveNext() {
105 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input); 113 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
106 expect(builder.currentResult, null); 114 expect(builder.currentResult, null);
107 } 115 }
108 116
109 test_currentTarget_afterComplete() { 117 test_currentTarget_afterComplete() {
110 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input); 118 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
111 builder.moveNext(); 119 builder.moveNext();
112 builder.currentValue = []; 120 builder.currentValue = [];
113 builder.moveNext(); 121 builder.moveNext();
114 expect(builder.currentTarget, null); 122 expect(builder.currentTarget, null);
115 } 123 }
116 124
125 test_currentTarget_afterCurrentValueNotAvailable() {
126 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
127 builder.moveNext();
128 builder.currentValueNotAvailable();
129 builder.moveNext();
130 expect(builder.currentTarget, null);
131 }
132
117 test_currentTarget_afterOneMoveNext() { 133 test_currentTarget_afterOneMoveNext() {
118 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input); 134 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
119 builder.moveNext(); 135 builder.moveNext();
120 expect(builder.currentTarget, target1); 136 expect(builder.currentTarget, target1);
121 } 137 }
122 138
123 test_currentTarget_beforeMoveNext() { 139 test_currentTarget_beforeMoveNext() {
124 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input); 140 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
125 expect(builder.currentTarget, null); 141 expect(builder.currentTarget, null);
126 } 142 }
127 143
128 test_currentValue_afterOneMoveNext() { 144 test_currentValue_afterOneMoveNext() {
129 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input); 145 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
130 builder.moveNext(); 146 builder.moveNext();
131 builder.currentValue = []; 147 builder.currentValue = [];
132 } 148 }
133 149
134 test_currentValue_beforeMoveNext() { 150 test_currentValue_beforeMoveNext() {
135 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input); 151 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
136 expect(() { 152 expect(() {
137 builder.currentValue = []; 153 builder.currentValue = [];
138 }, throwsStateError); 154 }, throwsStateError);
139 } 155 }
140 156
157 test_currentValueNotAvailable_afterOneMoveNext() {
158 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
159 builder.moveNext();
160 builder.currentValueNotAvailable();
161 }
162
163 test_currentValueNotAvailable_beforeMoveNext() {
164 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
165 expect(() {
166 builder.currentValueNotAvailable();
167 }, throwsStateError);
168 }
169
141 test_inputValue_afterComplete() { 170 test_inputValue_afterComplete() {
142 AnalysisTarget target2 = new TestSource(); 171 AnalysisTarget target2 = new TestSource();
143 AnalysisTarget target3 = new TestSource(); 172 AnalysisTarget target3 = new TestSource();
144 String value2 = 'value2'; 173 String value2 = 'value2';
145 String value3 = 'value3'; 174 String value3 = 'value3';
146 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input); 175 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
147 builder.moveNext(); // Advance to requesting the list 176 builder.moveNext(); // Advance to requesting the list
148 builder.currentValue = [target2, target3]; 177 builder.currentValue = [target2, target3];
149 builder.moveNext(); // Advance to requesting result2 for target2 178 builder.moveNext(); // Advance to requesting result2 for target2
150 builder.currentValue = value2; 179 builder.currentValue = value2;
151 builder.moveNext(); // Advance to requesting result2 for target3 180 builder.moveNext(); // Advance to requesting result2 for target3
152 builder.currentValue = value3; 181 builder.currentValue = value3;
153 builder.moveNext(); // Advance to the end 182 builder.moveNext(); // Advance to the end
154 var inputValue = builder.inputValue; 183 var inputValue = builder.inputValue;
155 expect(inputValue, new isInstanceOf<List>()); 184 expect(inputValue, new isInstanceOf<List>());
156 List list = inputValue; 185 List list = inputValue;
157 expect(list.length, 2); 186 expect(list.length, 2);
158 expect(list[0], value2); 187 expect(list[0], value2);
159 expect(list[1], value3); 188 expect(list[1], value3);
160 } 189 }
161 190
191 test_inputValue_afterFirstValueNotAvailable() {
192 AnalysisTarget target2 = new TestSource();
193 AnalysisTarget target3 = new TestSource();
194 String value3 = 'value3';
195 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
196 builder.moveNext(); // Advance to requesting the list
197 builder.currentValue = [target2, target3];
198 builder.moveNext(); // Advance to requesting result2 for target2
199 builder.currentValueNotAvailable();
200 builder.moveNext(); // Advance to requesting result2 for target3
201 builder.currentValue = value3;
202 builder.moveNext(); // Advance to the end
203 var inputValue = builder.inputValue;
204 expect(inputValue, new isInstanceOf<List>());
205 List list = inputValue;
206 expect(list.length, 1);
scheglov 2015/05/19 19:25:41 expect(list, hasLength(1));
207 expect(list[0], value3);
scheglov 2015/05/19 19:25:42 or maybe even just this statement only: expect(lis
Paul Berry 2015/05/19 19:36:11 Done.
208 }
209
210 test_inputValue_afterListNotAvailable() {
211 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
212 builder.moveNext(); // Advance to requesting the list
213 builder.currentValueNotAvailable();
214 builder.moveNext(); // Advance to the end
215 var inputValue = builder.inputValue;
216 expect(inputValue, new isInstanceOf<List>());
217 List list = inputValue;
218 expect(list, isEmpty);
219 }
220
162 test_inputValue_afterOneMoveNext() { 221 test_inputValue_afterOneMoveNext() {
163 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input); 222 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
164 builder.moveNext(); 223 builder.moveNext();
165 expect(() => builder.inputValue, throwsStateError); 224 expect(() => builder.inputValue, throwsStateError);
166 } 225 }
167 226
168 test_inputValue_beforeMoveNext() { 227 test_inputValue_beforeMoveNext() {
169 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input); 228 ListToListTaskInputBuilder builder = new ListToListTaskInputBuilder(input);
170 expect(() => builder.inputValue, throwsStateError); 229 expect(() => builder.inputValue, throwsStateError);
171 } 230 }
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 } 284 }
226 285
227 test_currentResult_afterComplete() { 286 test_currentResult_afterComplete() {
228 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input); 287 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
229 builder.moveNext(); 288 builder.moveNext();
230 builder.currentValue = []; 289 builder.currentValue = [];
231 builder.moveNext(); 290 builder.moveNext();
232 expect(builder.currentResult, null); 291 expect(builder.currentResult, null);
233 } 292 }
234 293
294 test_currentResult_afterCurrentValueNotAvailable() {
295 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
296 builder.moveNext();
297 builder.currentValueNotAvailable();
298 builder.moveNext();
299 expect(builder.currentResult, null);
300 }
301
235 test_currentResult_afterOneMoveNext() { 302 test_currentResult_afterOneMoveNext() {
236 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input); 303 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
237 builder.moveNext(); 304 builder.moveNext();
238 expect(builder.currentResult, result1); 305 expect(builder.currentResult, result1);
239 } 306 }
240 307
241 test_currentResult_beforeMoveNext() { 308 test_currentResult_beforeMoveNext() {
242 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input); 309 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
243 expect(builder.currentResult, null); 310 expect(builder.currentResult, null);
244 } 311 }
245 312
246 test_currentTarget_afterComplete() { 313 test_currentTarget_afterComplete() {
247 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input); 314 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
248 builder.moveNext(); 315 builder.moveNext();
249 builder.currentValue = []; 316 builder.currentValue = [];
250 builder.moveNext(); 317 builder.moveNext();
251 expect(builder.currentTarget, null); 318 expect(builder.currentTarget, null);
252 } 319 }
253 320
321 test_currentTarget_afterCurrentValueNotAvailable() {
322 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
323 builder.moveNext();
324 builder.currentValueNotAvailable();
325 builder.moveNext();
326 expect(builder.currentTarget, null);
327 }
328
254 test_currentTarget_afterOneMoveNext() { 329 test_currentTarget_afterOneMoveNext() {
255 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input); 330 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
256 builder.moveNext(); 331 builder.moveNext();
257 expect(builder.currentTarget, target1); 332 expect(builder.currentTarget, target1);
258 } 333 }
259 334
260 test_currentTarget_beforeMoveNext() { 335 test_currentTarget_beforeMoveNext() {
261 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input); 336 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
262 expect(builder.currentTarget, null); 337 expect(builder.currentTarget, null);
263 } 338 }
264 339
265 test_currentValue_afterOneMoveNext() { 340 test_currentValue_afterOneMoveNext() {
266 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input); 341 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
267 builder.moveNext(); 342 builder.moveNext();
268 builder.currentValue = []; 343 builder.currentValue = [];
269 } 344 }
270 345
271 test_currentValue_beforeMoveNext() { 346 test_currentValue_beforeMoveNext() {
272 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input); 347 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
273 expect(() { 348 expect(() {
274 builder.currentValue = []; 349 builder.currentValue = [];
275 }, throwsStateError); 350 }, throwsStateError);
276 } 351 }
277 352
353 test_currentValueNotAvailable_afterOneMoveNext() {
354 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
355 builder.moveNext();
356 builder.currentValueNotAvailable();
357 }
358
359 test_currentValueNotAvailable_beforeMoveNext() {
360 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
361 expect(() {
362 builder.currentValueNotAvailable();
363 }, throwsStateError);
364 }
365
278 test_inputValue_afterComplete() { 366 test_inputValue_afterComplete() {
279 AnalysisTarget target2 = new TestSource('target2'); 367 AnalysisTarget target2 = new TestSource('target2');
280 AnalysisTarget target3 = new TestSource('target3'); 368 AnalysisTarget target3 = new TestSource('target3');
281 String value2 = 'value2'; 369 String value2 = 'value2';
282 String value3 = 'value3'; 370 String value3 = 'value3';
283 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input); 371 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
284 builder.moveNext(); // Advance to requesting the list 372 builder.moveNext(); // Advance to requesting the list
285 builder.currentValue = [target2, target3]; 373 builder.currentValue = [target2, target3];
286 builder.moveNext(); // Advance to requesting result2 for target2 374 builder.moveNext(); // Advance to requesting result2 for target2
287 builder.currentValue = value2; 375 builder.currentValue = value2;
288 builder.moveNext(); // Advance to requesting result2 for target3 376 builder.moveNext(); // Advance to requesting result2 for target3
289 builder.currentValue = value3; 377 builder.currentValue = value3;
290 builder.moveNext(); // Advance to the end 378 builder.moveNext(); // Advance to the end
291 var inputValue = builder.inputValue; 379 var inputValue = builder.inputValue;
292 expect(inputValue, new isInstanceOf<Map>()); 380 expect(inputValue, new isInstanceOf<Map>());
293 expect(inputValue.length, 2); 381 expect(inputValue.length, 2);
294 expect(inputValue, containsPair(target2, value2)); 382 expect(inputValue, containsPair(target2, value2));
295 expect(inputValue, containsPair(target3, value3)); 383 expect(inputValue, containsPair(target3, value3));
296 } 384 }
297 385
386 test_inputValue_afterFirstValueNotAvailable() {
387 AnalysisTarget target2 = new TestSource('target2');
388 AnalysisTarget target3 = new TestSource('target3');
389 String value3 = 'value3';
390 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
391 builder.moveNext(); // Advance to requesting the list
392 builder.currentValue = [target2, target3];
393 builder.moveNext(); // Advance to requesting result2 for target2
394 builder.currentValueNotAvailable();
395 builder.moveNext(); // Advance to requesting result2 for target3
396 builder.currentValue = value3;
397 builder.moveNext(); // Advance to the end
398 var inputValue = builder.inputValue;
399 expect(inputValue, new isInstanceOf<Map>());
400 expect(inputValue.length, 1);
scheglov 2015/05/19 19:25:41 expect(inputValue, hasLength(1));
Paul Berry 2015/05/19 19:36:11 Done.
401 expect(inputValue, containsPair(target3, value3));
402 }
403
404 test_inputValue_afterListNotAvailable() {
405 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
406 builder.moveNext(); // Advance to requesting the list
407 builder.currentValueNotAvailable();
408 builder.moveNext(); // Advance to the end
409 var inputValue = builder.inputValue;
410 expect(inputValue, new isInstanceOf<Map>());
411 expect(inputValue, isEmpty);
412 }
413
298 test_inputValue_afterOneMoveNext() { 414 test_inputValue_afterOneMoveNext() {
299 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input); 415 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
300 builder.moveNext(); 416 builder.moveNext();
301 expect(() => builder.inputValue, throwsStateError); 417 expect(() => builder.inputValue, throwsStateError);
302 } 418 }
303 419
304 test_inputValue_beforeMoveNext() { 420 test_inputValue_beforeMoveNext() {
305 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input); 421 ListToMapTaskInputBuilder builder = new ListToMapTaskInputBuilder(input);
306 expect(() => builder.inputValue, throwsStateError); 422 expect(() => builder.inputValue, throwsStateError);
307 } 423 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 } 474 }
359 475
360 test_currentResult_afterComplete() { 476 test_currentResult_afterComplete() {
361 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 477 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
362 builder.moveNext(); 478 builder.moveNext();
363 builder.currentValue = 'value'; 479 builder.currentValue = 'value';
364 builder.moveNext(); 480 builder.moveNext();
365 expect(builder.currentResult, null); 481 expect(builder.currentResult, null);
366 } 482 }
367 483
484 test_currentResult_afterCurrentValueNotAvailable() {
485 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
486 builder.moveNext();
487 builder.currentValueNotAvailable();
488 builder.moveNext();
489 expect(builder.currentResult, null);
490 }
491
368 test_currentResult_afterOneMoveNext() { 492 test_currentResult_afterOneMoveNext() {
369 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 493 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
370 builder.moveNext(); 494 builder.moveNext();
371 expect(builder.currentResult, result); 495 expect(builder.currentResult, result);
372 } 496 }
373 497
374 test_currentResult_beforeMoveNext() { 498 test_currentResult_beforeMoveNext() {
375 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 499 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
376 expect(builder.currentResult, null); 500 expect(builder.currentResult, null);
377 } 501 }
378 502
379 test_currentTarget_afterComplete() { 503 test_currentTarget_afterComplete() {
380 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 504 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
381 builder.moveNext(); 505 builder.moveNext();
382 builder.currentValue = 'value'; 506 builder.currentValue = 'value';
383 builder.moveNext(); 507 builder.moveNext();
384 expect(builder.currentTarget, null); 508 expect(builder.currentTarget, null);
385 } 509 }
386 510
511 test_currentTarget_afterCurrentValueNotAvailable() {
512 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
513 builder.moveNext();
514 builder.currentValueNotAvailable();
515 builder.moveNext();
516 expect(builder.currentTarget, null);
517 }
518
387 test_currentTarget_afterOneMoveNext() { 519 test_currentTarget_afterOneMoveNext() {
388 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 520 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
389 builder.moveNext(); 521 builder.moveNext();
390 expect(builder.currentTarget, target); 522 expect(builder.currentTarget, target);
391 } 523 }
392 524
393 test_currentTarget_beforeMoveNext() { 525 test_currentTarget_beforeMoveNext() {
394 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 526 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
395 expect(builder.currentTarget, null); 527 expect(builder.currentTarget, null);
396 } 528 }
397 529
398 test_currentValue_afterOneMoveNext() { 530 test_currentValue_afterOneMoveNext() {
399 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 531 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
400 builder.moveNext(); 532 builder.moveNext();
401 builder.currentValue = 'value'; 533 builder.currentValue = 'value';
402 } 534 }
403 535
404 test_currentValue_beforeMoveNext() { 536 test_currentValue_beforeMoveNext() {
405 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 537 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
406 expect(() { 538 expect(() {
407 builder.currentValue = 'value'; 539 builder.currentValue = 'value';
408 }, throwsStateError); 540 }, throwsStateError);
409 } 541 }
410 542
543 test_currentValueNotAvailable_afterOneMoveNext() {
544 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
545 builder.moveNext();
546 builder.currentValueNotAvailable();
547 }
548
549 test_currentValueNotAvailable_beforeMoveNext() {
550 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
551 expect(() {
552 builder.currentValueNotAvailable();
553 }, throwsStateError);
554 }
555
411 test_inputValue_afterComplete() { 556 test_inputValue_afterComplete() {
412 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 557 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
413 builder.moveNext(); 558 builder.moveNext();
414 String value = 'value'; 559 String value = 'value';
415 builder.currentValue = value; 560 builder.currentValue = value;
416 builder.moveNext(); 561 builder.moveNext();
417 expect(builder.inputValue, value); 562 expect(builder.inputValue, value);
418 } 563 }
419 564
565 test_inputValue_afterCurrentValueNotAvailable() {
566 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
567 builder.moveNext();
568 String value = 'value';
569 builder.currentValueNotAvailable();
570 builder.moveNext();
571 expect(builder.inputValue, isNull);
572 }
573
420 test_inputValue_afterOneMoveNext() { 574 test_inputValue_afterOneMoveNext() {
421 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 575 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
422 builder.moveNext(); 576 builder.moveNext();
423 expect(() => builder.inputValue, throwsStateError); 577 expect(() => builder.inputValue, throwsStateError);
424 } 578 }
425 579
426 test_inputValue_beforeMoveNext() { 580 test_inputValue_beforeMoveNext() {
427 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 581 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
428 expect(() => builder.inputValue, throwsStateError); 582 expect(() => builder.inputValue, throwsStateError);
429 } 583 }
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 test_currentResult_afterComplete() { 637 test_currentResult_afterComplete() {
484 Map<String, TaskInput> inputDescriptors = {'one': input1}; 638 Map<String, TaskInput> inputDescriptors = {'one': input1};
485 TopLevelTaskInputBuilder builder = 639 TopLevelTaskInputBuilder builder =
486 new TopLevelTaskInputBuilder(inputDescriptors); 640 new TopLevelTaskInputBuilder(inputDescriptors);
487 builder.moveNext(); 641 builder.moveNext();
488 builder.currentValue = 'value1'; 642 builder.currentValue = 'value1';
489 builder.moveNext(); 643 builder.moveNext();
490 expect(builder.currentResult, null); 644 expect(builder.currentResult, null);
491 } 645 }
492 646
647 test_currentResult_afterCurrentValueNotAvailable() {
648 Map<String, TaskInput> inputDescriptors = {'one': input1};
649 TopLevelTaskInputBuilder builder =
650 new TopLevelTaskInputBuilder(inputDescriptors);
651 builder.moveNext();
652 builder.currentValueNotAvailable();
653 builder.moveNext();
654 expect(builder.currentResult, null);
655 }
656
493 test_currentResult_afterOneMoveNext() { 657 test_currentResult_afterOneMoveNext() {
494 Map<String, TaskInput> inputDescriptors = {'one': input1, 'two': input2}; 658 Map<String, TaskInput> inputDescriptors = {'one': input1, 'two': input2};
495 TopLevelTaskInputBuilder builder = 659 TopLevelTaskInputBuilder builder =
496 new TopLevelTaskInputBuilder(inputDescriptors); 660 new TopLevelTaskInputBuilder(inputDescriptors);
497 builder.moveNext(); 661 builder.moveNext();
498 expect(builder.currentResult, result1); 662 expect(builder.currentResult, result1);
499 } 663 }
500 664
501 test_currentResult_beforeMoveNext() { 665 test_currentResult_beforeMoveNext() {
502 Map<String, TaskInput> inputDescriptors = {}; 666 Map<String, TaskInput> inputDescriptors = {};
503 TopLevelTaskInputBuilder builder = 667 TopLevelTaskInputBuilder builder =
504 new TopLevelTaskInputBuilder(inputDescriptors); 668 new TopLevelTaskInputBuilder(inputDescriptors);
505 expect(builder.currentResult, null); 669 expect(builder.currentResult, null);
506 } 670 }
507 671
508 test_currentTarget_afterComplete() { 672 test_currentTarget_afterComplete() {
509 Map<String, TaskInput> inputDescriptors = {'one': input1}; 673 Map<String, TaskInput> inputDescriptors = {'one': input1};
510 TopLevelTaskInputBuilder builder = 674 TopLevelTaskInputBuilder builder =
511 new TopLevelTaskInputBuilder(inputDescriptors); 675 new TopLevelTaskInputBuilder(inputDescriptors);
512 builder.moveNext(); 676 builder.moveNext();
513 builder.currentValue = 'value1'; 677 builder.currentValue = 'value1';
514 builder.moveNext(); 678 builder.moveNext();
515 expect(builder.currentTarget, null); 679 expect(builder.currentTarget, null);
516 } 680 }
517 681
682 test_currentTarget_afterCurrentValueNotAvailable() {
683 Map<String, TaskInput> inputDescriptors = {'one': input1};
684 TopLevelTaskInputBuilder builder =
685 new TopLevelTaskInputBuilder(inputDescriptors);
686 builder.moveNext();
687 builder.currentValueNotAvailable();
688 builder.moveNext();
689 expect(builder.currentTarget, null);
690 }
691
518 test_currentTarget_afterOneMoveNext() { 692 test_currentTarget_afterOneMoveNext() {
519 Map<String, TaskInput> inputDescriptors = {'one': input1}; 693 Map<String, TaskInput> inputDescriptors = {'one': input1};
520 TopLevelTaskInputBuilder builder = 694 TopLevelTaskInputBuilder builder =
521 new TopLevelTaskInputBuilder(inputDescriptors); 695 new TopLevelTaskInputBuilder(inputDescriptors);
522 builder.moveNext(); 696 builder.moveNext();
523 expect(builder.currentTarget, target); 697 expect(builder.currentTarget, target);
524 } 698 }
525 699
526 test_currentTarget_beforeMoveNext() { 700 test_currentTarget_beforeMoveNext() {
527 Map<String, TaskInput> inputDescriptors = {}; 701 Map<String, TaskInput> inputDescriptors = {};
(...skipping 12 matching lines...) Expand all
540 714
541 test_currentValue_beforeMoveNext() { 715 test_currentValue_beforeMoveNext() {
542 Map<String, TaskInput> inputDescriptors = {'one': input1}; 716 Map<String, TaskInput> inputDescriptors = {'one': input1};
543 TopLevelTaskInputBuilder builder = 717 TopLevelTaskInputBuilder builder =
544 new TopLevelTaskInputBuilder(inputDescriptors); 718 new TopLevelTaskInputBuilder(inputDescriptors);
545 expect(() { 719 expect(() {
546 builder.currentValue = 'value1'; 720 builder.currentValue = 'value1';
547 }, throwsStateError); 721 }, throwsStateError);
548 } 722 }
549 723
724 test_currentValueNotAvailable_afterOneMoveNext() {
725 Map<String, TaskInput> inputDescriptors = {'one': input1};
726 TopLevelTaskInputBuilder builder =
727 new TopLevelTaskInputBuilder(inputDescriptors);
728 builder.moveNext();
729 builder.currentValueNotAvailable();
730 }
731
732 test_currentValueNotAvailable_beforeMoveNext() {
733 Map<String, TaskInput> inputDescriptors = {'one': input1};
734 TopLevelTaskInputBuilder builder =
735 new TopLevelTaskInputBuilder(inputDescriptors);
736 expect(() {
737 builder.currentValueNotAvailable();
738 }, throwsStateError);
739 }
740
550 test_inputValue_afterComplete() { 741 test_inputValue_afterComplete() {
551 String key1 = 'one'; 742 String key1 = 'one';
552 String key2 = 'two'; 743 String key2 = 'two';
553 String value1 = 'value1'; 744 String value1 = 'value1';
554 String value2 = 'value2'; 745 String value2 = 'value2';
555 Map<String, TaskInput> inputDescriptors = {key1: input1, key2: input2}; 746 Map<String, TaskInput> inputDescriptors = {key1: input1, key2: input2};
556 TopLevelTaskInputBuilder builder = 747 TopLevelTaskInputBuilder builder =
557 new TopLevelTaskInputBuilder(inputDescriptors); 748 new TopLevelTaskInputBuilder(inputDescriptors);
558 builder.moveNext(); // Advance to requesting result1 for target 749 builder.moveNext(); // Advance to requesting result1 for target
559 builder.currentValue = value1; 750 builder.currentValue = value1;
560 builder.moveNext(); // Advance to requesting result2 for target 751 builder.moveNext(); // Advance to requesting result2 for target
561 builder.currentValue = value2; 752 builder.currentValue = value2;
562 builder.moveNext(); // Advance to the end 753 builder.moveNext(); // Advance to the end
563 var inputValue = builder.inputValue; 754 var inputValue = builder.inputValue;
564 expect(inputValue, new isInstanceOf<Map>()); 755 expect(inputValue, new isInstanceOf<Map>());
565 Map inputs = inputValue; 756 Map inputs = inputValue;
566 expect(inputs.length, 2); 757 expect(inputs.length, 2);
567 expect(inputs, containsPair(key1, value1)); 758 expect(inputs, containsPair(key1, value1));
568 expect(inputs, containsPair(key2, value2)); 759 expect(inputs, containsPair(key2, value2));
569 } 760 }
570 761
571 test_inputValue_afterOneMoveNext() { 762 test_inputValue_afterOneMoveNext() {
572 Map<String, TaskInput> inputDescriptors = {'one': input1}; 763 Map<String, TaskInput> inputDescriptors = {'one': input1};
573 TopLevelTaskInputBuilder builder = 764 TopLevelTaskInputBuilder builder =
574 new TopLevelTaskInputBuilder(inputDescriptors); 765 new TopLevelTaskInputBuilder(inputDescriptors);
575 builder.moveNext(); 766 builder.moveNext();
576 expect(() => builder.inputValue, throwsStateError); 767 expect(() => builder.inputValue, throwsStateError);
577 } 768 }
578 769
770 test_inputValue_afterOneValueNotAvailable() {
771 String key1 = 'one';
772 String key2 = 'two';
773 String value2 = 'value2';
774 Map<String, TaskInput> inputDescriptors = {key1: input1, key2: input2};
775 TopLevelTaskInputBuilder builder =
776 new TopLevelTaskInputBuilder(inputDescriptors);
777 builder.moveNext(); // Advance to requesting result1 for target
778 builder.currentValueNotAvailable();
779 builder.moveNext(); // Advance to requesting result2 for target
780 builder.currentValue = value2;
781 builder.moveNext(); // Advance to the end
782 var inputValue = builder.inputValue;
783 expect(inputValue, new isInstanceOf<Map>());
784 Map inputs = inputValue;
785 expect(inputs.length, 1);
scheglov 2015/05/19 19:25:41 hasLength(1)
Paul Berry 2015/05/19 19:36:11 Done.
786 expect(inputs, containsPair(key2, value2));
787 }
788
579 test_inputValue_beforeMoveNext() { 789 test_inputValue_beforeMoveNext() {
580 Map<String, TaskInput> inputDescriptors = {}; 790 Map<String, TaskInput> inputDescriptors = {};
581 TopLevelTaskInputBuilder builder = 791 TopLevelTaskInputBuilder builder =
582 new TopLevelTaskInputBuilder(inputDescriptors); 792 new TopLevelTaskInputBuilder(inputDescriptors);
583 expect(() => builder.inputValue, throwsStateError); 793 expect(() => builder.inputValue, throwsStateError);
584 } 794 }
585 795
586 test_moveNext_withoutSet() { 796 test_moveNext_withoutSet() {
587 Map<String, TaskInput> inputDescriptors = {'one': input1}; 797 Map<String, TaskInput> inputDescriptors = {'one': input1};
588 TopLevelTaskInputBuilder builder = 798 TopLevelTaskInputBuilder builder =
589 new TopLevelTaskInputBuilder(inputDescriptors); 799 new TopLevelTaskInputBuilder(inputDescriptors);
590 expect(builder.moveNext(), true); 800 expect(builder.moveNext(), true);
591 expect(() => builder.moveNext(), throwsStateError); 801 expect(() => builder.moveNext(), throwsStateError);
592 } 802 }
593 803
594 test_moveNext_withSet() { 804 test_moveNext_withSet() {
595 Map<String, TaskInput> inputDescriptors = {'one': input1}; 805 Map<String, TaskInput> inputDescriptors = {'one': input1};
596 TopLevelTaskInputBuilder builder = 806 TopLevelTaskInputBuilder builder =
597 new TopLevelTaskInputBuilder(inputDescriptors); 807 new TopLevelTaskInputBuilder(inputDescriptors);
598 expect(builder.moveNext(), true); 808 expect(builder.moveNext(), true);
599 builder.currentValue = 'value1'; 809 builder.currentValue = 'value1';
600 expect(builder.moveNext(), false); 810 expect(builder.moveNext(), false);
601 expect(builder.moveNext(), false); 811 expect(builder.moveNext(), false);
602 } 812 }
603 } 813 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698