| OLD | NEW |
| 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/task/model.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'; | |
| 15 | 14 |
| 16 main() { | 15 main() { |
| 17 groupSep = ' | '; | 16 groupSep = ' | '; |
| 18 runReflectiveTests(ListBasedTaskInputTest); | 17 runReflectiveTests(ListBasedTaskInputTest); |
| 19 runReflectiveTests(ListBasedTaskInputBuilderTest); | 18 runReflectiveTests(ListBasedTaskInputBuilderTest); |
| 20 runReflectiveTests(SimpleTaskInputTest); | 19 runReflectiveTests(SimpleTaskInputTest); |
| 21 runReflectiveTests(SimpleTaskInputBuilderTest); | 20 runReflectiveTests(SimpleTaskInputBuilderTest); |
| 22 runReflectiveTests(TopLevelTaskInputBuilderTest); | 21 runReflectiveTests(TopLevelTaskInputBuilderTest); |
| 23 } | 22 } |
| 24 | 23 |
| 25 @reflectiveTest | 24 @reflectiveTest |
| 26 class ListBasedTaskInputBuilderTest extends EngineTestCase { | 25 class ListBasedTaskInputBuilderTest extends EngineTestCase { |
| 27 static final SourceTarget target1 = new SourceTarget(null); | 26 static final AnalysisTarget target1 = new TestSource(); |
| 28 static final ResultDescriptorImpl result1 = | 27 static final ResultDescriptorImpl result1 = |
| 29 new ResultDescriptorImpl('result1', null); | 28 new ResultDescriptorImpl('result1', null); |
| 30 static final ResultDescriptorImpl result2 = | 29 static final ResultDescriptorImpl result2 = |
| 31 new ResultDescriptorImpl('result2', null); | 30 new ResultDescriptorImpl('result2', null); |
| 32 static final ListBasedTaskInput input = new ListBasedTaskInput( | 31 static final ListBasedTaskInput input = new ListBasedTaskInput( |
| 33 result1.inputFor(target1), | 32 result1.inputFor(target1), |
| 34 (element) => result2.inputFor(element)); | 33 (element) => result2.inputFor(element)); |
| 35 | 34 |
| 36 test_create() { | 35 test_create() { |
| 37 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 36 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 38 expect(builder, isNotNull); | 37 expect(builder, isNotNull); |
| 39 expect(builder.input, input); | 38 expect(builder.input, input); |
| 40 } | 39 } |
| 41 | 40 |
| 42 test_currentResult_afterOneMoveNext() { | |
| 43 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | |
| 44 builder.moveNext(); | |
| 45 expect(builder.currentResult, result1); | |
| 46 } | |
| 47 | |
| 48 test_currentResult_afterComplete() { | 41 test_currentResult_afterComplete() { |
| 49 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 42 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 50 builder.moveNext(); | 43 builder.moveNext(); |
| 51 builder.currentValue = []; | 44 builder.currentValue = []; |
| 52 builder.moveNext(); | 45 builder.moveNext(); |
| 53 expect(builder.currentResult, null); | 46 expect(builder.currentResult, null); |
| 54 } | 47 } |
| 55 | 48 |
| 49 test_currentResult_afterOneMoveNext() { |
| 50 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 51 builder.moveNext(); |
| 52 expect(builder.currentResult, result1); |
| 53 } |
| 54 |
| 56 test_currentResult_beforeMoveNext() { | 55 test_currentResult_beforeMoveNext() { |
| 57 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 56 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 58 expect(builder.currentResult, null); | 57 expect(builder.currentResult, null); |
| 59 } | 58 } |
| 60 | 59 |
| 61 test_currentTarget_afterOneMoveNext() { | |
| 62 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | |
| 63 builder.moveNext(); | |
| 64 expect(builder.currentTarget, target1); | |
| 65 } | |
| 66 | |
| 67 test_currentTarget_afterComplete() { | 60 test_currentTarget_afterComplete() { |
| 68 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 61 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 69 builder.moveNext(); | 62 builder.moveNext(); |
| 70 builder.currentValue = []; | 63 builder.currentValue = []; |
| 71 builder.moveNext(); | 64 builder.moveNext(); |
| 72 expect(builder.currentTarget, null); | 65 expect(builder.currentTarget, null); |
| 73 } | 66 } |
| 74 | 67 |
| 68 test_currentTarget_afterOneMoveNext() { |
| 69 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 70 builder.moveNext(); |
| 71 expect(builder.currentTarget, target1); |
| 72 } |
| 73 |
| 75 test_currentTarget_beforeMoveNext() { | 74 test_currentTarget_beforeMoveNext() { |
| 76 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 75 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 77 expect(builder.currentTarget, null); | 76 expect(builder.currentTarget, null); |
| 78 } | 77 } |
| 79 | 78 |
| 80 test_currentValue_afterOneMoveNext() { | 79 test_currentValue_afterOneMoveNext() { |
| 81 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 80 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 82 builder.moveNext(); | 81 builder.moveNext(); |
| 83 builder.currentValue = []; | 82 builder.currentValue = []; |
| 84 } | 83 } |
| 85 | 84 |
| 86 test_currentValue_beforeMoveNext() { | 85 test_currentValue_beforeMoveNext() { |
| 87 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 86 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 88 expect(() { | 87 expect(() { |
| 89 builder.currentValue = []; | 88 builder.currentValue = []; |
| 90 }, throwsStateError); | 89 }, throwsStateError); |
| 91 } | 90 } |
| 92 | 91 |
| 93 test_inputValue_afterOneMoveNext() { | |
| 94 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | |
| 95 builder.moveNext(); | |
| 96 expect(() => builder.inputValue, throwsStateError); | |
| 97 } | |
| 98 | |
| 99 test_inputValue_afterComplete() { | 92 test_inputValue_afterComplete() { |
| 100 SourceTarget target2 = new SourceTarget(null); | 93 AnalysisTarget target2 = new TestSource(); |
| 101 SourceTarget target3 = new SourceTarget(null); | 94 AnalysisTarget target3 = new TestSource(); |
| 102 String value2 = 'value2'; | 95 String value2 = 'value2'; |
| 103 String value3 = 'value3'; | 96 String value3 = 'value3'; |
| 104 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 97 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 105 builder.moveNext(); // Advance to requesting the list | 98 builder.moveNext(); // Advance to requesting the list |
| 106 builder.currentValue = [target2, target3]; | 99 builder.currentValue = [target2, target3]; |
| 107 builder.moveNext(); // Advance to requesting result2 for target2 | 100 builder.moveNext(); // Advance to requesting result2 for target2 |
| 108 builder.currentValue = value2; | 101 builder.currentValue = value2; |
| 109 builder.moveNext(); // Advance to requesting result2 for target3 | 102 builder.moveNext(); // Advance to requesting result2 for target3 |
| 110 builder.currentValue = value3; | 103 builder.currentValue = value3; |
| 111 builder.moveNext(); // Advance to the end | 104 builder.moveNext(); // Advance to the end |
| 112 var inputValue = builder.inputValue; | 105 var inputValue = builder.inputValue; |
| 113 expect(inputValue, new isInstanceOf<List>()); | 106 expect(inputValue, new isInstanceOf<List>()); |
| 114 List list = inputValue; | 107 List list = inputValue; |
| 115 expect(list.length, 2); | 108 expect(list.length, 2); |
| 116 expect(list[0], value2); | 109 expect(list[0], value2); |
| 117 expect(list[1], value3); | 110 expect(list[1], value3); |
| 118 } | 111 } |
| 119 | 112 |
| 113 test_inputValue_afterOneMoveNext() { |
| 114 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 115 builder.moveNext(); |
| 116 expect(() => builder.inputValue, throwsStateError); |
| 117 } |
| 118 |
| 120 test_inputValue_beforeMoveNext() { | 119 test_inputValue_beforeMoveNext() { |
| 121 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 120 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 122 expect(() => builder.inputValue, throwsStateError); | 121 expect(() => builder.inputValue, throwsStateError); |
| 123 } | 122 } |
| 124 | 123 |
| 125 test_moveNext_withoutSet() { | 124 test_moveNext_withoutSet() { |
| 126 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 125 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 127 expect(builder.moveNext(), true); | 126 expect(builder.moveNext(), true); |
| 128 expect(() => builder.moveNext(), throwsStateError); | 127 expect(() => builder.moveNext(), throwsStateError); |
| 129 } | 128 } |
| 130 | 129 |
| 131 test_moveNext_withSet() { | 130 test_moveNext_withSet() { |
| 132 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); | 131 ListBasedTaskInputBuilder builder = new ListBasedTaskInputBuilder(input); |
| 133 expect(builder.moveNext(), true); | 132 expect(builder.moveNext(), true); |
| 134 builder.currentValue = []; | 133 builder.currentValue = []; |
| 135 expect(builder.moveNext(), false); | 134 expect(builder.moveNext(), false); |
| 136 expect(builder.moveNext(), false); | 135 expect(builder.moveNext(), false); |
| 137 } | 136 } |
| 138 } | 137 } |
| 139 | 138 |
| 140 @reflectiveTest | 139 @reflectiveTest |
| 141 class ListBasedTaskInputTest extends EngineTestCase { | 140 class ListBasedTaskInputTest extends EngineTestCase { |
| 142 static final SourceTarget target = new SourceTarget(null); | 141 static final AnalysisTarget target = new TestSource(); |
| 143 static final ResultDescriptorImpl result = | 142 static final ResultDescriptorImpl result = |
| 144 new ResultDescriptorImpl('result', null); | 143 new ResultDescriptorImpl('result', null); |
| 145 | 144 |
| 146 test_create() { | 145 test_create() { |
| 147 SimpleTaskInput baseAccessor = result.inputFor(target); | 146 SimpleTaskInput baseAccessor = result.inputFor(target); |
| 148 GenerateTaskInputs generate = (object) {}; | 147 GenerateTaskInputs generate = (object) {}; |
| 149 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate); | 148 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate); |
| 150 expect(input, isNotNull); | 149 expect(input, isNotNull); |
| 151 expect(input.baseAccessor, baseAccessor); | 150 expect(input.baseAccessor, baseAccessor); |
| 152 expect(input.generateTaskInputs, equals(generate)); | 151 expect(input.generateTaskInputs, equals(generate)); |
| 153 } | 152 } |
| 154 | 153 |
| 155 test_createBuilder() { | 154 test_createBuilder() { |
| 156 SimpleTaskInput baseAccessor = result.inputFor(target); | 155 SimpleTaskInput baseAccessor = result.inputFor(target); |
| 157 GenerateTaskInputs generate = (object) {}; | 156 GenerateTaskInputs generate = (object) {}; |
| 158 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate); | 157 ListBasedTaskInput input = new ListBasedTaskInput(baseAccessor, generate); |
| 159 expect(input.createBuilder(), isNotNull); | 158 expect(input.createBuilder(), isNotNull); |
| 160 } | 159 } |
| 161 } | 160 } |
| 162 | 161 |
| 163 @reflectiveTest | 162 @reflectiveTest |
| 164 class SimpleTaskInputBuilderTest extends EngineTestCase { | 163 class SimpleTaskInputBuilderTest extends EngineTestCase { |
| 165 static final SourceTarget target = new SourceTarget(null); | 164 static final AnalysisTarget target = new TestSource(); |
| 166 static final ResultDescriptorImpl result = | 165 static final ResultDescriptorImpl result = |
| 167 new ResultDescriptorImpl('result', null); | 166 new ResultDescriptorImpl('result', null); |
| 168 static final SimpleTaskInput input = new SimpleTaskInput(target, result); | 167 static final SimpleTaskInput input = new SimpleTaskInput(target, result); |
| 169 | 168 |
| 170 test_create() { | 169 test_create() { |
| 171 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 170 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 172 expect(builder, isNotNull); | 171 expect(builder, isNotNull); |
| 173 expect(builder.input, input); | 172 expect(builder.input, input); |
| 174 } | 173 } |
| 175 | 174 |
| 176 test_currentResult_afterOneMoveNext() { | |
| 177 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | |
| 178 builder.moveNext(); | |
| 179 expect(builder.currentResult, result); | |
| 180 } | |
| 181 | |
| 182 test_currentResult_afterComplete() { | 175 test_currentResult_afterComplete() { |
| 183 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 176 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 184 builder.moveNext(); | 177 builder.moveNext(); |
| 185 builder.currentValue = 'value'; | 178 builder.currentValue = 'value'; |
| 186 builder.moveNext(); | 179 builder.moveNext(); |
| 187 expect(builder.currentResult, null); | 180 expect(builder.currentResult, null); |
| 188 } | 181 } |
| 189 | 182 |
| 183 test_currentResult_afterOneMoveNext() { |
| 184 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 185 builder.moveNext(); |
| 186 expect(builder.currentResult, result); |
| 187 } |
| 188 |
| 190 test_currentResult_beforeMoveNext() { | 189 test_currentResult_beforeMoveNext() { |
| 191 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 190 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 192 expect(builder.currentResult, null); | 191 expect(builder.currentResult, null); |
| 193 } | 192 } |
| 194 | 193 |
| 195 test_currentTarget_afterOneMoveNext() { | |
| 196 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | |
| 197 builder.moveNext(); | |
| 198 expect(builder.currentTarget, target); | |
| 199 } | |
| 200 | |
| 201 test_currentTarget_afterComplete() { | 194 test_currentTarget_afterComplete() { |
| 202 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 195 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 203 builder.moveNext(); | 196 builder.moveNext(); |
| 204 builder.currentValue = 'value'; | 197 builder.currentValue = 'value'; |
| 205 builder.moveNext(); | 198 builder.moveNext(); |
| 206 expect(builder.currentTarget, null); | 199 expect(builder.currentTarget, null); |
| 207 } | 200 } |
| 208 | 201 |
| 202 test_currentTarget_afterOneMoveNext() { |
| 203 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 204 builder.moveNext(); |
| 205 expect(builder.currentTarget, target); |
| 206 } |
| 207 |
| 209 test_currentTarget_beforeMoveNext() { | 208 test_currentTarget_beforeMoveNext() { |
| 210 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 209 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 211 expect(builder.currentTarget, null); | 210 expect(builder.currentTarget, null); |
| 212 } | 211 } |
| 213 | 212 |
| 214 test_currentValue_afterOneMoveNext() { | 213 test_currentValue_afterOneMoveNext() { |
| 215 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 214 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 216 builder.moveNext(); | 215 builder.moveNext(); |
| 217 builder.currentValue = 'value'; | 216 builder.currentValue = 'value'; |
| 218 } | 217 } |
| 219 | 218 |
| 220 test_currentValue_beforeMoveNext() { | 219 test_currentValue_beforeMoveNext() { |
| 221 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 220 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 222 expect(() { | 221 expect(() { |
| 223 builder.currentValue = 'value'; | 222 builder.currentValue = 'value'; |
| 224 }, throwsStateError); | 223 }, throwsStateError); |
| 225 } | 224 } |
| 226 | 225 |
| 227 test_inputValue_afterOneMoveNext() { | |
| 228 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | |
| 229 builder.moveNext(); | |
| 230 expect(() => builder.inputValue, throwsStateError); | |
| 231 } | |
| 232 | |
| 233 test_inputValue_afterComplete() { | 226 test_inputValue_afterComplete() { |
| 234 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 227 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 235 builder.moveNext(); | 228 builder.moveNext(); |
| 236 String value = 'value'; | 229 String value = 'value'; |
| 237 builder.currentValue = value; | 230 builder.currentValue = value; |
| 238 builder.moveNext(); | 231 builder.moveNext(); |
| 239 expect(builder.inputValue, value); | 232 expect(builder.inputValue, value); |
| 240 } | 233 } |
| 241 | 234 |
| 235 test_inputValue_afterOneMoveNext() { |
| 236 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 237 builder.moveNext(); |
| 238 expect(() => builder.inputValue, throwsStateError); |
| 239 } |
| 240 |
| 242 test_inputValue_beforeMoveNext() { | 241 test_inputValue_beforeMoveNext() { |
| 243 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 242 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 244 expect(() => builder.inputValue, throwsStateError); | 243 expect(() => builder.inputValue, throwsStateError); |
| 245 } | 244 } |
| 246 | 245 |
| 247 test_moveNext_withoutSet() { | 246 test_moveNext_withoutSet() { |
| 248 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 247 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 249 expect(builder.moveNext(), true); | 248 expect(builder.moveNext(), true); |
| 250 expect(() => builder.moveNext(), throwsStateError); | 249 expect(() => builder.moveNext(), throwsStateError); |
| 251 } | 250 } |
| 252 | 251 |
| 253 test_moveNext_withSet() { | 252 test_moveNext_withSet() { |
| 254 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); | 253 SimpleTaskInputBuilder builder = new SimpleTaskInputBuilder(input); |
| 255 expect(builder.moveNext(), true); | 254 expect(builder.moveNext(), true); |
| 256 builder.currentValue = 'value'; | 255 builder.currentValue = 'value'; |
| 257 expect(builder.moveNext(), false); | 256 expect(builder.moveNext(), false); |
| 258 expect(builder.moveNext(), false); | 257 expect(builder.moveNext(), false); |
| 259 } | 258 } |
| 260 } | 259 } |
| 261 | 260 |
| 262 @reflectiveTest | 261 @reflectiveTest |
| 263 class SimpleTaskInputTest extends EngineTestCase { | 262 class SimpleTaskInputTest extends EngineTestCase { |
| 264 static final SourceTarget target = new SourceTarget(null); | 263 static final AnalysisTarget target = new TestSource(); |
| 265 static final ResultDescriptorImpl result = | 264 static final ResultDescriptorImpl result = |
| 266 new ResultDescriptorImpl('result', null); | 265 new ResultDescriptorImpl('result', null); |
| 267 | 266 |
| 268 test_create() { | 267 test_create() { |
| 269 SimpleTaskInput input = new SimpleTaskInput(target, result); | 268 SimpleTaskInput input = new SimpleTaskInput(target, result); |
| 270 expect(input, isNotNull); | 269 expect(input, isNotNull); |
| 271 expect(input.target, target); | 270 expect(input.target, target); |
| 272 expect(input.result, result); | 271 expect(input.result, result); |
| 273 } | 272 } |
| 274 | 273 |
| 275 test_createBuilder() { | 274 test_createBuilder() { |
| 276 SimpleTaskInput input = new SimpleTaskInput(target, result); | 275 SimpleTaskInput input = new SimpleTaskInput(target, result); |
| 277 expect(input.createBuilder(), new isInstanceOf<SimpleTaskInputBuilder>()); | 276 expect(input.createBuilder(), new isInstanceOf<SimpleTaskInputBuilder>()); |
| 278 } | 277 } |
| 279 } | 278 } |
| 280 | 279 |
| 281 @reflectiveTest | 280 @reflectiveTest |
| 282 class TopLevelTaskInputBuilderTest extends EngineTestCase { | 281 class TopLevelTaskInputBuilderTest extends EngineTestCase { |
| 283 static final SourceTarget target = new SourceTarget(null); | 282 static final AnalysisTarget target = new TestSource(); |
| 284 static final ResultDescriptorImpl result1 = | 283 static final ResultDescriptorImpl result1 = |
| 285 new ResultDescriptorImpl('result1', null); | 284 new ResultDescriptorImpl('result1', null); |
| 286 static final ResultDescriptorImpl result2 = | 285 static final ResultDescriptorImpl result2 = |
| 287 new ResultDescriptorImpl('result2', null); | 286 new ResultDescriptorImpl('result2', null); |
| 288 static final SimpleTaskInput input1 = new SimpleTaskInput(target, result1); | 287 static final SimpleTaskInput input1 = new SimpleTaskInput(target, result1); |
| 289 static final SimpleTaskInput input2 = new SimpleTaskInput(target, result2); | 288 static final SimpleTaskInput input2 = new SimpleTaskInput(target, result2); |
| 290 | 289 |
| 291 test_create() { | 290 test_create() { |
| 292 Map<String, TaskInput> inputDescriptors = {}; | 291 Map<String, TaskInput> inputDescriptors = {}; |
| 293 TopLevelTaskInputBuilder builder = | 292 TopLevelTaskInputBuilder builder = |
| 294 new TopLevelTaskInputBuilder(inputDescriptors); | 293 new TopLevelTaskInputBuilder(inputDescriptors); |
| 295 expect(builder, isNotNull); | 294 expect(builder, isNotNull); |
| 296 expect(builder.inputDescriptors, inputDescriptors); | 295 expect(builder.inputDescriptors, inputDescriptors); |
| 297 } | 296 } |
| 298 | 297 |
| 299 test_currentResult_afterOneMoveNext() { | |
| 300 Map<String, TaskInput> inputDescriptors = { | |
| 301 'one': input1, | |
| 302 'two': input2 | |
| 303 }; | |
| 304 TopLevelTaskInputBuilder builder = | |
| 305 new TopLevelTaskInputBuilder(inputDescriptors); | |
| 306 builder.moveNext(); | |
| 307 expect(builder.currentResult, result1); | |
| 308 } | |
| 309 | |
| 310 test_currentResult_afterComplete() { | 298 test_currentResult_afterComplete() { |
| 311 Map<String, TaskInput> inputDescriptors = { | 299 Map<String, TaskInput> inputDescriptors = { |
| 312 'one': input1 | 300 'one': input1 |
| 313 }; | 301 }; |
| 314 TopLevelTaskInputBuilder builder = | 302 TopLevelTaskInputBuilder builder = |
| 315 new TopLevelTaskInputBuilder(inputDescriptors); | 303 new TopLevelTaskInputBuilder(inputDescriptors); |
| 316 builder.moveNext(); | 304 builder.moveNext(); |
| 317 builder.currentValue = 'value1'; | 305 builder.currentValue = 'value1'; |
| 318 builder.moveNext(); | 306 builder.moveNext(); |
| 319 expect(builder.currentResult, null); | 307 expect(builder.currentResult, null); |
| 320 } | 308 } |
| 321 | 309 |
| 310 test_currentResult_afterOneMoveNext() { |
| 311 Map<String, TaskInput> inputDescriptors = { |
| 312 'one': input1, |
| 313 'two': input2 |
| 314 }; |
| 315 TopLevelTaskInputBuilder builder = |
| 316 new TopLevelTaskInputBuilder(inputDescriptors); |
| 317 builder.moveNext(); |
| 318 expect(builder.currentResult, result1); |
| 319 } |
| 320 |
| 322 test_currentResult_beforeMoveNext() { | 321 test_currentResult_beforeMoveNext() { |
| 323 Map<String, TaskInput> inputDescriptors = {}; | 322 Map<String, TaskInput> inputDescriptors = {}; |
| 324 TopLevelTaskInputBuilder builder = | 323 TopLevelTaskInputBuilder builder = |
| 325 new TopLevelTaskInputBuilder(inputDescriptors); | 324 new TopLevelTaskInputBuilder(inputDescriptors); |
| 326 expect(builder.currentResult, null); | 325 expect(builder.currentResult, null); |
| 327 } | 326 } |
| 328 | 327 |
| 329 test_currentTarget_afterOneMoveNext() { | |
| 330 Map<String, TaskInput> inputDescriptors = { | |
| 331 'one': input1 | |
| 332 }; | |
| 333 TopLevelTaskInputBuilder builder = | |
| 334 new TopLevelTaskInputBuilder(inputDescriptors); | |
| 335 builder.moveNext(); | |
| 336 expect(builder.currentTarget, target); | |
| 337 } | |
| 338 | |
| 339 test_currentTarget_afterComplete() { | 328 test_currentTarget_afterComplete() { |
| 340 Map<String, TaskInput> inputDescriptors = { | 329 Map<String, TaskInput> inputDescriptors = { |
| 341 'one': input1 | 330 'one': input1 |
| 342 }; | 331 }; |
| 343 TopLevelTaskInputBuilder builder = | 332 TopLevelTaskInputBuilder builder = |
| 344 new TopLevelTaskInputBuilder(inputDescriptors); | 333 new TopLevelTaskInputBuilder(inputDescriptors); |
| 345 builder.moveNext(); | 334 builder.moveNext(); |
| 346 builder.currentValue = 'value1'; | 335 builder.currentValue = 'value1'; |
| 347 builder.moveNext(); | 336 builder.moveNext(); |
| 348 expect(builder.currentTarget, null); | 337 expect(builder.currentTarget, null); |
| 349 } | 338 } |
| 350 | 339 |
| 340 test_currentTarget_afterOneMoveNext() { |
| 341 Map<String, TaskInput> inputDescriptors = { |
| 342 'one': input1 |
| 343 }; |
| 344 TopLevelTaskInputBuilder builder = |
| 345 new TopLevelTaskInputBuilder(inputDescriptors); |
| 346 builder.moveNext(); |
| 347 expect(builder.currentTarget, target); |
| 348 } |
| 349 |
| 351 test_currentTarget_beforeMoveNext() { | 350 test_currentTarget_beforeMoveNext() { |
| 352 Map<String, TaskInput> inputDescriptors = {}; | 351 Map<String, TaskInput> inputDescriptors = {}; |
| 353 TopLevelTaskInputBuilder builder = | 352 TopLevelTaskInputBuilder builder = |
| 354 new TopLevelTaskInputBuilder(inputDescriptors); | 353 new TopLevelTaskInputBuilder(inputDescriptors); |
| 355 expect(builder.currentTarget, null); | 354 expect(builder.currentTarget, null); |
| 356 } | 355 } |
| 357 | 356 |
| 358 test_currentValue_afterOneMoveNext() { | 357 test_currentValue_afterOneMoveNext() { |
| 359 Map<String, TaskInput> inputDescriptors = { | 358 Map<String, TaskInput> inputDescriptors = { |
| 360 'one': input1 | 359 'one': input1 |
| 361 }; | 360 }; |
| 362 TopLevelTaskInputBuilder builder = | 361 TopLevelTaskInputBuilder builder = |
| 363 new TopLevelTaskInputBuilder(inputDescriptors); | 362 new TopLevelTaskInputBuilder(inputDescriptors); |
| 364 builder.moveNext(); | 363 builder.moveNext(); |
| 365 builder.currentValue = 'value1'; | 364 builder.currentValue = 'value1'; |
| 366 } | 365 } |
| 367 | 366 |
| 368 test_currentValue_beforeMoveNext() { | 367 test_currentValue_beforeMoveNext() { |
| 369 Map<String, TaskInput> inputDescriptors = { | 368 Map<String, TaskInput> inputDescriptors = { |
| 370 'one': input1 | 369 'one': input1 |
| 371 }; | 370 }; |
| 372 TopLevelTaskInputBuilder builder = | 371 TopLevelTaskInputBuilder builder = |
| 373 new TopLevelTaskInputBuilder(inputDescriptors); | 372 new TopLevelTaskInputBuilder(inputDescriptors); |
| 374 expect(() { | 373 expect(() { |
| 375 builder.currentValue = 'value1'; | 374 builder.currentValue = 'value1'; |
| 376 }, throwsStateError); | 375 }, throwsStateError); |
| 377 } | 376 } |
| 378 | 377 |
| 379 test_inputValue_afterOneMoveNext() { | |
| 380 Map<String, TaskInput> inputDescriptors = { | |
| 381 'one': input1 | |
| 382 }; | |
| 383 TopLevelTaskInputBuilder builder = | |
| 384 new TopLevelTaskInputBuilder(inputDescriptors); | |
| 385 builder.moveNext(); | |
| 386 expect(() => builder.inputValue, throwsStateError); | |
| 387 } | |
| 388 | |
| 389 test_inputValue_afterComplete() { | 378 test_inputValue_afterComplete() { |
| 390 String key1 = 'one'; | 379 String key1 = 'one'; |
| 391 String key2 = 'two'; | 380 String key2 = 'two'; |
| 392 String value1 = 'value1'; | 381 String value1 = 'value1'; |
| 393 String value2 = 'value2'; | 382 String value2 = 'value2'; |
| 394 Map<String, TaskInput> inputDescriptors = { | 383 Map<String, TaskInput> inputDescriptors = { |
| 395 key1: input1, | 384 key1: input1, |
| 396 key2: input2 | 385 key2: input2 |
| 397 }; | 386 }; |
| 398 TopLevelTaskInputBuilder builder = | 387 TopLevelTaskInputBuilder builder = |
| 399 new TopLevelTaskInputBuilder(inputDescriptors); | 388 new TopLevelTaskInputBuilder(inputDescriptors); |
| 400 builder.moveNext(); // Advance to requesting result1 for target | 389 builder.moveNext(); // Advance to requesting result1 for target |
| 401 builder.currentValue = value1; | 390 builder.currentValue = value1; |
| 402 builder.moveNext(); // Advance to requesting result2 for target | 391 builder.moveNext(); // Advance to requesting result2 for target |
| 403 builder.currentValue = value2; | 392 builder.currentValue = value2; |
| 404 builder.moveNext(); // Advance to the end | 393 builder.moveNext(); // Advance to the end |
| 405 var inputValue = builder.inputValue; | 394 var inputValue = builder.inputValue; |
| 406 expect(inputValue, new isInstanceOf<Map>()); | 395 expect(inputValue, new isInstanceOf<Map>()); |
| 407 Map inputs = inputValue; | 396 Map inputs = inputValue; |
| 408 expect(inputs.length, 2); | 397 expect(inputs.length, 2); |
| 409 expect(inputs, containsPair(key1, value1)); | 398 expect(inputs, containsPair(key1, value1)); |
| 410 expect(inputs, containsPair(key2, value2)); | 399 expect(inputs, containsPair(key2, value2)); |
| 411 } | 400 } |
| 412 | 401 |
| 402 test_inputValue_afterOneMoveNext() { |
| 403 Map<String, TaskInput> inputDescriptors = { |
| 404 'one': input1 |
| 405 }; |
| 406 TopLevelTaskInputBuilder builder = |
| 407 new TopLevelTaskInputBuilder(inputDescriptors); |
| 408 builder.moveNext(); |
| 409 expect(() => builder.inputValue, throwsStateError); |
| 410 } |
| 411 |
| 413 test_inputValue_beforeMoveNext() { | 412 test_inputValue_beforeMoveNext() { |
| 414 Map<String, TaskInput> inputDescriptors = {}; | 413 Map<String, TaskInput> inputDescriptors = {}; |
| 415 TopLevelTaskInputBuilder builder = | 414 TopLevelTaskInputBuilder builder = |
| 416 new TopLevelTaskInputBuilder(inputDescriptors); | 415 new TopLevelTaskInputBuilder(inputDescriptors); |
| 417 expect(() => builder.inputValue, throwsStateError); | 416 expect(() => builder.inputValue, throwsStateError); |
| 418 } | 417 } |
| 419 | 418 |
| 420 test_moveNext_withoutSet() { | 419 test_moveNext_withoutSet() { |
| 421 Map<String, TaskInput> inputDescriptors = { | 420 Map<String, TaskInput> inputDescriptors = { |
| 422 'one': input1 | 421 'one': input1 |
| 423 }; | 422 }; |
| 424 TopLevelTaskInputBuilder builder = | 423 TopLevelTaskInputBuilder builder = |
| 425 new TopLevelTaskInputBuilder(inputDescriptors); | 424 new TopLevelTaskInputBuilder(inputDescriptors); |
| 426 expect(builder.moveNext(), true); | 425 expect(builder.moveNext(), true); |
| 427 expect(() => builder.moveNext(), throwsStateError); | 426 expect(() => builder.moveNext(), throwsStateError); |
| 428 } | 427 } |
| 429 | 428 |
| 430 test_moveNext_withSet() { | 429 test_moveNext_withSet() { |
| 431 Map<String, TaskInput> inputDescriptors = { | 430 Map<String, TaskInput> inputDescriptors = { |
| 432 'one': input1 | 431 'one': input1 |
| 433 }; | 432 }; |
| 434 TopLevelTaskInputBuilder builder = | 433 TopLevelTaskInputBuilder builder = |
| 435 new TopLevelTaskInputBuilder(inputDescriptors); | 434 new TopLevelTaskInputBuilder(inputDescriptors); |
| 436 expect(builder.moveNext(), true); | 435 expect(builder.moveNext(), true); |
| 437 builder.currentValue = 'value1'; | 436 builder.currentValue = 'value1'; |
| 438 expect(builder.moveNext(), false); | 437 expect(builder.moveNext(), false); |
| 439 expect(builder.moveNext(), false); | 438 expect(builder.moveNext(), false); |
| 440 } | 439 } |
| 441 } | 440 } |
| OLD | NEW |