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

Side by Side Diff: runtime/observatory/test/dominator_tree_test.dart

Issue 1071363002: Relocate service library tests and hookup a working status file (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 8 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
« no previous file with comments | « runtime/observatory/test/debugging_test.dart ('k') | runtime/observatory/test/echo_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2014, 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 // VMOptions=--compile-all --error_on_bad_type --error_on_bad_override --checked
5
6 import 'package:observatory/dominator_tree.dart';
7 import 'package:unittest/unittest.dart';
8
9 void main() {
10 test('small example from [Lenguaer & Tarjan 1979]', smallTest);
11 test('non-flowgraph', nonFlowgraph);
12 }
13
14 void smallTest() {
15 var g = {
16 'R': ['A', 'B', 'C'],
17 'A': ['D'],
18 'B': ['A', 'D', 'E'],
19 'C': ['F', 'G'],
20 'D': ['L'],
21 'E': ['H'],
22 'F': ['I'],
23 'G': ['I', 'J'],
24 'H': ['E', 'K'],
25 'I': ['K'],
26 'J': ['I'],
27 'K': ['I', 'R'],
28 'L': ['H'],
29 };
30 var d = new Dominator();
31 for (String u in g.keys) {
32 d.addEdges(u, g[u]);
33 }
34 d.computeDominatorTree('R');
35 expect(d.dominator('I'), equals('R'));
36 expect(d.dominator('K'), equals('R'));
37 expect(d.dominator('C'), equals('R'));
38 expect(d.dominator('H'), equals('R'));
39 expect(d.dominator('E'), equals('R'));
40 expect(d.dominator('A'), equals('R'));
41 expect(d.dominator('D'), equals('R'));
42 expect(d.dominator('B'), equals('R'));
43
44 expect(d.dominator('F'), equals('C'));
45 expect(d.dominator('G'), equals('C'));
46 expect(d.dominator('J'), equals('G'));
47 expect(d.dominator('L'), equals('D'));
48 expect(d.dominator('R'), isNull);
49 }
50
51 void nonFlowgraph() {
52 var d = new Dominator();
53 d.addEdges('A', ['B']);
54 expect(() => d.computeDominatorTree('B'), throwsStateError);
55 }
OLDNEW
« no previous file with comments | « runtime/observatory/test/debugging_test.dart ('k') | runtime/observatory/test/echo_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698