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

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

Issue 867563004: Improvements to task model (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 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 | Annotate | Revision Log
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/src/task/targets.dart'; 9 import 'package:analyzer/src/task/targets.dart';
10 import 'package:unittest/unittest.dart'; 10 import 'package:unittest/unittest.dart';
11 11
12 import '../../generated/test_support.dart'; 12 import '../../generated/test_support.dart';
13 import '../../reflective_tests.dart'; 13 import '../../reflective_tests.dart';
14 import 'package:analyzer/task/model.dart'; 14 import 'package:analyzer/task/model.dart';
15 15
16 main() { 16 main() {
17 groupSep = ' | '; 17 groupSep = ' | ';
18 runReflectiveTests(ListBasedTaskInputTest); 18 runReflectiveTests(ListBasedTaskInputTest);
19 runReflectiveTests(ListBasedTaskInputBuilderTest); 19 runReflectiveTests(ListBasedTaskInputBuilderTest);
20 runReflectiveTests(SimpleTaskInputTest); 20 runReflectiveTests(SimpleTaskInputTest);
21 runReflectiveTests(SimpleTaskInputBuilderTest); 21 runReflectiveTests(SimpleTaskInputBuilderTest);
22 runReflectiveTests(TopLevelTaskInputBuilderTest); 22 runReflectiveTests(TopLevelTaskInputBuilderTest);
23 } 23 }
24 24
25 @reflectiveTest 25 @reflectiveTest
26 class ListBasedTaskInputBuilderTest extends EngineTestCase { 26 class ListBasedTaskInputBuilderTest extends EngineTestCase {
27 static final SourceTarget target1 = new SourceTarget(null); 27 static final SourceTarget target1 = new SourceTarget(null);
28 static final ResultDescriptorImpl result1 = new ResultDescriptorImpl('result1' ); 28 static final ResultDescriptorImpl result1 =
29 static final ResultDescriptorImpl result2 = new ResultDescriptorImpl('result2' ); 29 new ResultDescriptorImpl('result1', null);
30 static final ListBasedTaskInput input = 30 static final ResultDescriptorImpl result2 =
31 new ListBasedTaskInput(result1.inputFor(target1), (element) => result2.inp utFor(element)); 31 new ResultDescriptorImpl('result2', null);
32 static final ListBasedTaskInput input = new ListBasedTaskInput(
33 result1.inputFor(target1),
34 (element) => result2.inputFor(element));
32 35
33 test_create() { 36 test_create() {
34 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); 37 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
35 expect(builder, isNotNull); 38 expect(builder, isNotNull);
36 expect(builder.input, input); 39 expect(builder.input, input);
37 } 40 }
38 41
39 test_currentResult_afterOneMoveNext() { 42 test_currentResult_afterOneMoveNext() {
40 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); 43 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input);
41 builder.moveNext(); 44 builder.moveNext();
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 expect(builder.moveNext(), true); 133 expect(builder.moveNext(), true);
131 builder.currentValue = []; 134 builder.currentValue = [];
132 expect(builder.moveNext(), false); 135 expect(builder.moveNext(), false);
133 expect(builder.moveNext(), false); 136 expect(builder.moveNext(), false);
134 } 137 }
135 } 138 }
136 139
137 @reflectiveTest 140 @reflectiveTest
138 class ListBasedTaskInputTest extends EngineTestCase { 141 class ListBasedTaskInputTest extends EngineTestCase {
139 static final SourceTarget target = new SourceTarget(null); 142 static final SourceTarget target = new SourceTarget(null);
140 static final ResultDescriptorImpl result = new ResultDescriptorImpl('result'); 143 static final ResultDescriptorImpl result =
144 new ResultDescriptorImpl('result', null);
141 145
142 test_create() { 146 test_create() {
143 SimpleTaskInput baseAccessor = result.inputFor(target); 147 SimpleTaskInput baseAccessor = result.inputFor(target);
144 GenerateTaskInputs generate = (object) {}; 148 GenerateTaskInputs generate = (object) {};
145 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate); 149 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate);
146 expect(input, isNotNull); 150 expect(input, isNotNull);
147 expect(input.baseAccessor, baseAccessor); 151 expect(input.baseAccessor, baseAccessor);
148 expect(input.generateTaskInputs, equals(generate)); 152 expect(input.generateTaskInputs, equals(generate));
149 } 153 }
150 154
151 test_createBuilder() { 155 test_createBuilder() {
152 SimpleTaskInput baseAccessor = result.inputFor(target); 156 SimpleTaskInput baseAccessor = result.inputFor(target);
153 GenerateTaskInputs generate = (object) {}; 157 GenerateTaskInputs generate = (object) {};
154 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate); 158 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate);
155 expect(input.createBuilder(), isNotNull); 159 expect(input.createBuilder(), isNotNull);
156 } 160 }
157 } 161 }
158 162
159 @reflectiveTest 163 @reflectiveTest
160 class SimpleTaskInputBuilderTest extends EngineTestCase { 164 class SimpleTaskInputBuilderTest extends EngineTestCase {
161 static final SourceTarget target = new SourceTarget(null); 165 static final SourceTarget target = new SourceTarget(null);
162 static final ResultDescriptorImpl result = new ResultDescriptorImpl('result'); 166 static final ResultDescriptorImpl result =
167 new ResultDescriptorImpl('result', null);
163 static final SimpleTaskInput input = new SimpleTaskInput(target, result); 168 static final SimpleTaskInput input = new SimpleTaskInput(target, result);
164 169
165 test_create() { 170 test_create() {
166 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 171 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
167 expect(builder, isNotNull); 172 expect(builder, isNotNull);
168 expect(builder.input, input); 173 expect(builder.input, input);
169 } 174 }
170 175
171 test_currentResult_afterOneMoveNext() { 176 test_currentResult_afterOneMoveNext() {
172 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); 177 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input);
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 expect(builder.moveNext(), true); 255 expect(builder.moveNext(), true);
251 builder.currentValue = 'value'; 256 builder.currentValue = 'value';
252 expect(builder.moveNext(), false); 257 expect(builder.moveNext(), false);
253 expect(builder.moveNext(), false); 258 expect(builder.moveNext(), false);
254 } 259 }
255 } 260 }
256 261
257 @reflectiveTest 262 @reflectiveTest
258 class SimpleTaskInputTest extends EngineTestCase { 263 class SimpleTaskInputTest extends EngineTestCase {
259 static final SourceTarget target = new SourceTarget(null); 264 static final SourceTarget target = new SourceTarget(null);
260 static final ResultDescriptorImpl result = new ResultDescriptorImpl('result'); 265 static final ResultDescriptorImpl result =
266 new ResultDescriptorImpl('result', null);
261 267
262 test_create() { 268 test_create() {
263 SimpleTaskInput input = new SimpleTaskInput(target, result); 269 SimpleTaskInput input = new SimpleTaskInput(target, result);
264 expect(input, isNotNull); 270 expect(input, isNotNull);
265 expect(input.target, target); 271 expect(input.target, target);
266 expect(input.result, result); 272 expect(input.result, result);
267 } 273 }
268 274
269 test_createBuilder() { 275 test_createBuilder() {
270 SimpleTaskInput input = new SimpleTaskInput(target, result); 276 SimpleTaskInput input = new SimpleTaskInput(target, result);
271 expect(input.createBuilder(), new isInstanceOf<SimpleTaskInputBuilder>()); 277 expect(input.createBuilder(), new isInstanceOf<SimpleTaskInputBuilder>());
272 } 278 }
273 } 279 }
274 280
275 @reflectiveTest 281 @reflectiveTest
276 class TopLevelTaskInputBuilderTest extends EngineTestCase { 282 class TopLevelTaskInputBuilderTest extends EngineTestCase {
277 static final SourceTarget target = new SourceTarget(null); 283 static final SourceTarget target = new SourceTarget(null);
278 static final ResultDescriptorImpl result1 = new ResultDescriptorImpl('result1' ); 284 static final ResultDescriptorImpl result1 =
279 static final ResultDescriptorImpl result2 = new ResultDescriptorImpl('result2' ); 285 new ResultDescriptorImpl('result1', null);
286 static final ResultDescriptorImpl result2 =
287 new ResultDescriptorImpl('result2', null);
280 static final SimpleTaskInput input1 = new SimpleTaskInput(target, result1); 288 static final SimpleTaskInput input1 = new SimpleTaskInput(target, result1);
281 static final SimpleTaskInput input2 = new SimpleTaskInput(target, result2); 289 static final SimpleTaskInput input2 = new SimpleTaskInput(target, result2);
282 290
283 test_create() { 291 test_create() {
284 Map<String, TaskInput> inputDescriptors = {}; 292 Map<String, TaskInput> inputDescriptors = {};
285 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 293 TopLevelTaskInputBuilder builder =
294 new TopLevelTaskInputBuilder(inputDescriptors);
286 expect(builder, isNotNull); 295 expect(builder, isNotNull);
287 expect(builder.inputDescriptors, inputDescriptors); 296 expect(builder.inputDescriptors, inputDescriptors);
288 } 297 }
289 298
290 test_currentResult_afterOneMoveNext() { 299 test_currentResult_afterOneMoveNext() {
291 Map<String, TaskInput> inputDescriptors = {'one' : input1, 'two' : input2}; 300 Map<String, TaskInput> inputDescriptors = {
292 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 301 'one': input1,
302 'two': input2
303 };
304 TopLevelTaskInputBuilder builder =
305 new TopLevelTaskInputBuilder(inputDescriptors);
293 builder.moveNext(); 306 builder.moveNext();
294 expect(builder.currentResult, result1); 307 expect(builder.currentResult, result1);
295 } 308 }
296 309
297 test_currentResult_afterComplete() { 310 test_currentResult_afterComplete() {
298 Map<String, TaskInput> inputDescriptors = {'one' : input1}; 311 Map<String, TaskInput> inputDescriptors = {
299 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 312 'one': input1
313 };
314 TopLevelTaskInputBuilder builder =
315 new TopLevelTaskInputBuilder(inputDescriptors);
300 builder.moveNext(); 316 builder.moveNext();
301 builder.currentValue = 'value1'; 317 builder.currentValue = 'value1';
302 builder.moveNext(); 318 builder.moveNext();
303 expect(builder.currentResult, null); 319 expect(builder.currentResult, null);
304 } 320 }
305 321
306 test_currentResult_beforeMoveNext() { 322 test_currentResult_beforeMoveNext() {
307 Map<String, TaskInput> inputDescriptors = {}; 323 Map<String, TaskInput> inputDescriptors = {};
308 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 324 TopLevelTaskInputBuilder builder =
325 new TopLevelTaskInputBuilder(inputDescriptors);
309 expect(builder.currentResult, null); 326 expect(builder.currentResult, null);
310 } 327 }
311 328
312 test_currentTarget_afterOneMoveNext() { 329 test_currentTarget_afterOneMoveNext() {
313 Map<String, TaskInput> inputDescriptors = {'one' : input1}; 330 Map<String, TaskInput> inputDescriptors = {
314 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 331 'one': input1
332 };
333 TopLevelTaskInputBuilder builder =
334 new TopLevelTaskInputBuilder(inputDescriptors);
315 builder.moveNext(); 335 builder.moveNext();
316 expect(builder.currentTarget, target); 336 expect(builder.currentTarget, target);
317 } 337 }
318 338
319 test_currentTarget_afterComplete() { 339 test_currentTarget_afterComplete() {
320 Map<String, TaskInput> inputDescriptors = {'one' : input1}; 340 Map<String, TaskInput> inputDescriptors = {
321 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 341 'one': input1
342 };
343 TopLevelTaskInputBuilder builder =
344 new TopLevelTaskInputBuilder(inputDescriptors);
322 builder.moveNext(); 345 builder.moveNext();
323 builder.currentValue = 'value1'; 346 builder.currentValue = 'value1';
324 builder.moveNext(); 347 builder.moveNext();
325 expect(builder.currentTarget, null); 348 expect(builder.currentTarget, null);
326 } 349 }
327 350
328 test_currentTarget_beforeMoveNext() { 351 test_currentTarget_beforeMoveNext() {
329 Map<String, TaskInput> inputDescriptors = {}; 352 Map<String, TaskInput> inputDescriptors = {};
330 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 353 TopLevelTaskInputBuilder builder =
354 new TopLevelTaskInputBuilder(inputDescriptors);
331 expect(builder.currentTarget, null); 355 expect(builder.currentTarget, null);
332 } 356 }
333 357
334 test_currentValue_afterOneMoveNext() { 358 test_currentValue_afterOneMoveNext() {
335 Map<String, TaskInput> inputDescriptors = {'one' : input1}; 359 Map<String, TaskInput> inputDescriptors = {
336 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 360 'one': input1
361 };
362 TopLevelTaskInputBuilder builder =
363 new TopLevelTaskInputBuilder(inputDescriptors);
337 builder.moveNext(); 364 builder.moveNext();
338 builder.currentValue = 'value1'; 365 builder.currentValue = 'value1';
339 } 366 }
340 367
341 test_currentValue_beforeMoveNext() { 368 test_currentValue_beforeMoveNext() {
342 Map<String, TaskInput> inputDescriptors = {'one' : input1}; 369 Map<String, TaskInput> inputDescriptors = {
343 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 370 'one': input1
371 };
372 TopLevelTaskInputBuilder builder =
373 new TopLevelTaskInputBuilder(inputDescriptors);
344 expect(() { 374 expect(() {
345 builder.currentValue = 'value1'; 375 builder.currentValue = 'value1';
346 }, throwsStateError); 376 }, throwsStateError);
347 } 377 }
348 378
349 test_inputValue_afterOneMoveNext() { 379 test_inputValue_afterOneMoveNext() {
350 Map<String, TaskInput> inputDescriptors = {'one' : input1}; 380 Map<String, TaskInput> inputDescriptors = {
351 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 381 'one': input1
382 };
383 TopLevelTaskInputBuilder builder =
384 new TopLevelTaskInputBuilder(inputDescriptors);
352 builder.moveNext(); 385 builder.moveNext();
353 expect(() => builder.inputValue, throwsStateError); 386 expect(() => builder.inputValue, throwsStateError);
354 } 387 }
355 388
356 test_inputValue_afterComplete() { 389 test_inputValue_afterComplete() {
357 String key1 = 'one'; 390 String key1 = 'one';
358 String key2 = 'two'; 391 String key2 = 'two';
359 String value1 = 'value1'; 392 String value1 = 'value1';
360 String value2 = 'value2'; 393 String value2 = 'value2';
361 Map<String, TaskInput> inputDescriptors = {key1 : input1, key2 : input2}; 394 Map<String, TaskInput> inputDescriptors = {
362 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 395 key1: input1,
396 key2: input2
397 };
398 TopLevelTaskInputBuilder builder =
399 new TopLevelTaskInputBuilder(inputDescriptors);
363 builder.moveNext(); // Advance to requesting result1 for target 400 builder.moveNext(); // Advance to requesting result1 for target
364 builder.currentValue = value1; 401 builder.currentValue = value1;
365 builder.moveNext(); // Advance to requesting result2 for target 402 builder.moveNext(); // Advance to requesting result2 for target
366 builder.currentValue = value2; 403 builder.currentValue = value2;
367 builder.moveNext(); // Advance to the end 404 builder.moveNext(); // Advance to the end
368 var inputValue = builder.inputValue; 405 var inputValue = builder.inputValue;
369 expect(inputValue, new isInstanceOf<Map>()); 406 expect(inputValue, new isInstanceOf<Map>());
370 Map inputs = inputValue; 407 Map inputs = inputValue;
371 expect(inputs.length, 2); 408 expect(inputs.length, 2);
372 expect(inputs, containsPair(key1, value1)); 409 expect(inputs, containsPair(key1, value1));
373 expect(inputs, containsPair(key2, value2)); 410 expect(inputs, containsPair(key2, value2));
374 } 411 }
375 412
376 test_inputValue_beforeMoveNext() { 413 test_inputValue_beforeMoveNext() {
377 Map<String, TaskInput> inputDescriptors = {}; 414 Map<String, TaskInput> inputDescriptors = {};
378 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 415 TopLevelTaskInputBuilder builder =
416 new TopLevelTaskInputBuilder(inputDescriptors);
379 expect(() => builder.inputValue, throwsStateError); 417 expect(() => builder.inputValue, throwsStateError);
380 } 418 }
381 419
382 test_moveNext_withoutSet() { 420 test_moveNext_withoutSet() {
383 Map<String, TaskInput> inputDescriptors = {'one' : input1}; 421 Map<String, TaskInput> inputDescriptors = {
384 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 422 'one': input1
423 };
424 TopLevelTaskInputBuilder builder =
425 new TopLevelTaskInputBuilder(inputDescriptors);
385 expect(builder.moveNext(), true); 426 expect(builder.moveNext(), true);
386 expect(() => builder.moveNext(), throwsStateError); 427 expect(() => builder.moveNext(), throwsStateError);
387 } 428 }
388 429
389 test_moveNext_withSet() { 430 test_moveNext_withSet() {
390 Map<String, TaskInput> inputDescriptors = {'one' : input1}; 431 Map<String, TaskInput> inputDescriptors = {
391 TopLevelTaskInputBuilder builder = new TopLevelTaskInputBuilder(inputDescrip tors); 432 'one': input1
433 };
434 TopLevelTaskInputBuilder builder =
435 new TopLevelTaskInputBuilder(inputDescriptors);
392 expect(builder.moveNext(), true); 436 expect(builder.moveNext(), true);
393 builder.currentValue = 'value1'; 437 builder.currentValue = 'value1';
394 expect(builder.moveNext(), false); 438 expect(builder.moveNext(), false);
395 expect(builder.moveNext(), false); 439 expect(builder.moveNext(), false);
396 } 440 }
397 } 441 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698