Index: packages/analyzer/test/src/task/manager_test.dart |
diff --git a/packages/analyzer/test/src/task/manager_test.dart b/packages/analyzer/test/src/task/manager_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..783c0154e52fd834791e9d17cab830cbaef38e13 |
--- /dev/null |
+++ b/packages/analyzer/test/src/task/manager_test.dart |
@@ -0,0 +1,132 @@ |
+// 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/manager.dart'; |
+import 'package:analyzer/task/model.dart'; |
+import 'package:unittest/unittest.dart'; |
+ |
+import '../../generated/test_support.dart'; |
+import '../../reflective_tests.dart'; |
+import '../../utils.dart'; |
+ |
+main() { |
+ initializeTestEnvironment(); |
+ runReflectiveTests(TaskManagerTest); |
+} |
+ |
+@reflectiveTest |
+class TaskManagerTest extends EngineTestCase { |
+ static final ResultDescriptor result1 = new ResultDescriptor('result1', null); |
+ static final ResultDescriptor result2 = new ResultDescriptor('result2', null); |
+ |
+ test_addGeneralResult() { |
+ TaskManager manager = new TaskManager(); |
+ manager.addGeneralResult(result1); |
+ Set<ResultDescriptor> results = manager.generalResults; |
+ expect(results, unorderedEquals([result1])); |
+ } |
+ |
+ test_addPriorityResult() { |
+ TaskManager manager = new TaskManager(); |
+ manager.addPriorityResult(result1); |
+ Set<ResultDescriptor> results = manager.priorityResults; |
+ expect(results, unorderedEquals([result1])); |
+ } |
+ |
+ test_addTaskDescriptor() { |
+ TaskManager manager = new TaskManager(); |
+ TaskDescriptor descriptor = |
+ new TaskDescriptor('task', null, null, [result1]); |
+ manager.addTaskDescriptor(descriptor); |
+ expect(manager.taskMap.length, 1); |
+ } |
+ |
+ test_constructor() { |
+ TaskManager manager = new TaskManager(); |
+ expect(manager, isNotNull); |
+ expect(manager.generalResults, isEmpty); |
+ expect(manager.priorityResults, isEmpty); |
+ } |
+ |
+ test_findTask_defined() { |
+ TaskManager manager = new TaskManager(); |
+ TaskDescriptor descriptor = |
+ new TaskDescriptor('task', null, null, [result1]); |
+ manager.addTaskDescriptor(descriptor); |
+ AnalysisTarget target = new TestSource(); |
+ expect(manager.findTask(target, result1), descriptor); |
+ } |
+ |
+ test_findTask_empty() { |
+ TaskManager manager = new TaskManager(); |
+ AnalysisTarget target = new TestSource(); |
+ expect(() => manager.findTask(target, result1), |
+ throwsA(new isInstanceOf<AnalysisException>())); |
+ } |
+ |
+ 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 TestSource(); |
+ TaskDescriptor task = manager.findTask(target, result1); |
+ expect(task == descriptor1 || task == descriptor2, true); |
+ } |
+ |
+ test_findTask_undefined() { |
+ TaskManager manager = new TaskManager(); |
+ TaskDescriptor descriptor = |
+ new TaskDescriptor('task', null, null, [result1]); |
+ manager.addTaskDescriptor(descriptor); |
+ AnalysisTarget target = new TestSource(); |
+ expect(() => manager.findTask(target, result2), |
+ throwsA(new isInstanceOf<AnalysisException>())); |
+ } |
+ |
+ test_removeGeneralResult_absent() { |
+ TaskManager manager = new TaskManager(); |
+ manager.addGeneralResult(result1); |
+ Set<ResultDescriptor> results = manager.generalResults; |
+ expect(results, unorderedEquals([result1])); |
+ } |
+ |
+ test_removeGeneralResult_present() { |
+ TaskManager manager = new TaskManager(); |
+ manager.addGeneralResult(result1); |
+ manager.addGeneralResult(result2); |
+ Set<ResultDescriptor> results = manager.generalResults; |
+ expect(results, unorderedEquals([result1, result2])); |
+ manager.removeGeneralResult(result1); |
+ expect(results, unorderedEquals([result2])); |
+ } |
+ |
+ test_removePriorityResult_absent() { |
+ TaskManager manager = new TaskManager(); |
+ manager.addPriorityResult(result1); |
+ manager.removePriorityResult(result2); |
+ Set<ResultDescriptor> results = manager.priorityResults; |
+ expect(results, unorderedEquals([result1])); |
+ } |
+ |
+ test_removePriorityResult_present() { |
+ TaskManager manager = new TaskManager(); |
+ manager.addPriorityResult(result1); |
+ manager.addPriorityResult(result2); |
+ Set<ResultDescriptor> results = manager.priorityResults; |
+ expect(results, unorderedEquals([result1, result2])); |
+ manager.removePriorityResult(result1); |
+ expect(results, unorderedEquals([result2])); |
+ } |
+} |