Chromium Code Reviews| Index: pkg/analyzer/test/src/task/manager_test.dart |
| diff --git a/pkg/analyzer/test/src/task/manager_test.dart b/pkg/analyzer/test/src/task/manager_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..6b8d4f6c012d8a53c07f301d2ecb2b85421675da |
| --- /dev/null |
| +++ b/pkg/analyzer/test/src/task/manager_test.dart |
| @@ -0,0 +1,135 @@ |
| +// Copyright (c) 2015, 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. |
| + |
| +library test.src.task.manager_test; |
| + |
| +import 'package:analyzer/src/generated/java_engine.dart'; |
| +import 'package:analyzer/src/task/inputs.dart'; |
| +import 'package:analyzer/src/task/manager.dart'; |
| +import 'package:analyzer/src/task/model.dart'; |
| +import 'package:analyzer/src/task/targets.dart'; |
| +import 'package:analyzer/task/model.dart'; |
| +import 'package:unittest/unittest.dart'; |
| + |
| +import '../../generated/test_support.dart'; |
| +import '../../reflective_tests.dart'; |
| + |
| +main() { |
| + groupSep = ' | '; |
| + runReflectiveTests(TaskManagerTest); |
| +} |
| + |
| +@reflectiveTest |
| +class TaskManagerTest extends EngineTestCase { |
| + static final ResultDescriptor result1 = new ResultDescriptor('result1'); |
| + static final ResultDescriptor result2 = new ResultDescriptor('result2'); |
| + |
| + void test_create() { |
| + TaskManager manager = new TaskManager(); |
| + expect(manager, isNotNull); |
| + expect(manager.generalResults, isEmpty); |
| + expect(manager.priorityResults, isEmpty); |
| + } |
| + |
| + void test_addGeneralResult() { |
| + TaskManager manager = new TaskManager(); |
| + manager.addGeneralResult(result1); |
| + Set<ResultDescriptor> results = manager.generalResults; |
| + expect(results.length, 1); |
| + results.contains(result1); |
|
scheglov
2015/01/21 14:50:47
expect(results, contains(result1));
...instead of
Brian Wilkerson
2015/01/26 04:54:52
Done
|
| + } |
| + |
| + void test_addPriorityResult() { |
| + TaskManager manager = new TaskManager(); |
| + manager.addPriorityResult(result1); |
| + Set<ResultDescriptor> results = manager.priorityResults; |
| + expect(results.length, 1); |
| + results.contains(result1); |
| + } |
| + |
| + void test_addTaskDescriptor() { |
| + TaskManager manager = new TaskManager(); |
| + TaskDescriptor descriptor = new TaskDescriptor('task', null, null, [result1]); |
| + manager.addTaskDescriptor(descriptor); |
| + expect(manager.taskMap.length, 1); |
| + } |
| + |
| + void test_findTask_empty() { |
| + TaskManager manager = new TaskManager(); |
| + AnalysisTarget target = new SourceTarget(null); |
| + expect(() => manager.findTask(target, result1), throwsA(new isInstanceOf<AnalysisException>())); |
| + } |
| + |
| + void test_findTask_defined() { |
| + TaskManager manager = new TaskManager(); |
| + TaskDescriptor descriptor = new TaskDescriptor('task', null, null, [result1]); |
| + manager.addTaskDescriptor(descriptor); |
| + AnalysisTarget target = new SourceTarget(null); |
| + expect(manager.findTask(target, result1), descriptor); |
| + } |
| + |
| + void test_findTask_multiple() { |
| + TaskManager manager = new TaskManager(); |
| + TaskDescriptor descriptor1 = new TaskDescriptor('task1', null, null, [result1]); |
| + manager.addTaskDescriptor(descriptor1); |
| + TaskDescriptor descriptor2 = new TaskDescriptor('task2', null, null, [result1]); |
| + manager.addTaskDescriptor(descriptor2); |
| + TaskDescriptor descriptor3 = new TaskDescriptor('task3', null, null, [result2]); |
| + manager.addTaskDescriptor(descriptor3); |
| + |
| + AnalysisTarget target = new SourceTarget(null); |
| + TaskDescriptor task = manager.findTask(target, result1); |
| + expect(task == descriptor1 || task == descriptor2, true); |
| + } |
| + |
| + void test_findTask_undefined() { |
| + TaskManager manager = new TaskManager(); |
| + TaskDescriptor descriptor = new TaskDescriptor('task', null, null, [result1]); |
| + manager.addTaskDescriptor(descriptor); |
| + AnalysisTarget target = new SourceTarget(null); |
| + expect(() => manager.findTask(target, result2), throwsA(new isInstanceOf<AnalysisException>())); |
| + } |
| + |
| + void test_removeGeneralResult_absent() { |
|
scheglov
2015/01/21 14:50:47
Doesn't really test "removeX".
Brian Wilkerson
2015/01/26 04:54:51
Done
|
| + TaskManager manager = new TaskManager(); |
| + manager.addGeneralResult(result1); |
| + Set<ResultDescriptor> results = manager.generalResults; |
| + expect(results.length, 1); |
| + results.contains(result1); |
| + } |
| + |
| + void test_removeGeneralResult_present() { |
| + TaskManager manager = new TaskManager(); |
| + manager.addGeneralResult(result1); |
| + manager.addGeneralResult(result2); |
| + Set<ResultDescriptor> results = manager.generalResults; |
| + expect(results.length, 2); |
| + results.contains(result1); |
| + results.contains(result2); |
| + manager.removeGeneralResult(result1); |
| + expect(results.length, 1); |
| + results.contains(result2); |
| + } |
| + |
| + void test_removePriorityResult_absent() { |
| + TaskManager manager = new TaskManager(); |
| + manager.addPriorityResult(result1); |
| + Set<ResultDescriptor> results = manager.priorityResults; |
| + expect(results.length, 1); |
| + results.contains(result1); |
| + } |
| + |
| + void test_removePriorityResult_present() { |
| + TaskManager manager = new TaskManager(); |
| + manager.addPriorityResult(result1); |
| + manager.addPriorityResult(result2); |
| + Set<ResultDescriptor> results = manager.priorityResults; |
| + expect(results.length, 2); |
| + results.contains(result1); |
| + results.contains(result2); |
| + manager.removePriorityResult(result1); |
| + expect(results.length, 1); |
| + results.contains(result2); |
| + } |
| +} |