Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
| 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. | |
| 4 | |
| 5 import 'package:expect/expect.dart'; | |
| 6 | |
| 7 import '../../tools/testing/dart/dependency_graph.dart' as graph; | |
| 8 | |
| 9 main() { | |
| 10 var dgraph = new graph.Graph(); | |
| 11 var numberOfEvents = 0; | |
| 12 var eventAssertions = []; | |
| 13 | |
| 14 graph.Node newNode(int i, List deps) { | |
| 15 graph.Node node = dgraph.newNode(i, deps); | |
| 16 Expect.isTrue(node.userData == i); | |
| 17 Expect.isTrue(dgraph.nodes.contains(node)); | |
| 18 for (var dep in deps) { | |
| 19 Expect.isTrue(node.dependencies.contains(dep)); | |
| 20 Expect.isTrue(dep.neededFor.contains(node)); | |
| 21 } | |
| 22 | |
| 23 numberOfEvents++; | |
| 24 eventAssertions.add((event) { | |
| 25 Expect.isTrue(event is graph.NodeAddedEvent); | |
| 26 Expect.isTrue(event.node == node); | |
| 27 }); | |
| 28 | |
| 29 return node; | |
| 30 } | |
| 31 | |
| 32 changeState(graph.Node node, graph.NodeState newState) { | |
| 33 var oldState = node.state; | |
| 34 | |
| 35 dgraph.changeState(node, newState); | |
| 36 Expect.isTrue(node.state == newState); | |
| 37 | |
| 38 numberOfEvents++; | |
| 39 eventAssertions.add((event) { | |
| 40 Expect.isTrue(event is graph.StateChangedEvent); | |
| 41 Expect.isTrue(event.node == node); | |
| 42 Expect.isTrue(event.from == oldState); | |
| 43 Expect.isTrue(event.to == newState); | |
| 44 }); | |
| 45 } | |
| 46 | |
| 47 var node1, node2, node3; | |
| 48 | |
| 49 node1 = newNode(1, []); | |
| 50 changeState(node1, graph.NodeState.Processing); | |
| 51 node2 = newNode(2, [node1]); | |
| 52 changeState(node1, graph.NodeState.Successful); | |
| 53 node3 = newNode(3, [node1, node2]); | |
| 54 changeState(node2, graph.NodeState.Failed); | |
| 55 changeState(node3, graph.NodeState.UnableToRun); | |
| 56 | |
| 57 dgraph.events.take(numberOfEvents).toList() | |
| 58 .then((List<graph.GraphEvent> events) { | |
| 59 for (var i=0; i<events.length; i++) { | |
|
ricow1
2013/08/01 18:23:52
could we indent this for loop 4 more spaces, this
kustermann
2013/08/05 07:29:17
Moved it one line up.
| |
| 60 eventAssertions[i](events[i]); | |
| 61 } | |
| 62 }); | |
| 63 } | |
| OLD | NEW |