| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 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 | 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 // This code was auto-generated, is not intended to be edited, and is subject to | 5 // This code was auto-generated, is not intended to be edited, and is subject to |
| 6 // significant change. Please see the README file for more information. | 6 // significant change. Please see the README file for more information. |
| 7 | 7 |
| 8 library engine.utilities_test; | 8 library engine.utilities_test; |
| 9 | 9 |
| 10 import 'dart:collection'; | 10 import 'dart:collection'; |
| (...skipping 2211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2222 DirectedGraphTest_Node node5 = new DirectedGraphTest_Node(); | 2222 DirectedGraphTest_Node node5 = new DirectedGraphTest_Node(); |
| 2223 DirectedGraph<DirectedGraphTest_Node> graph = | 2223 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2224 new DirectedGraph<DirectedGraphTest_Node>(); | 2224 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2225 graph.addEdge(node1, node2); | 2225 graph.addEdge(node1, node2); |
| 2226 graph.addEdge(node2, node3); | 2226 graph.addEdge(node2, node3); |
| 2227 graph.addEdge(node3, node1); | 2227 graph.addEdge(node3, node1); |
| 2228 graph.addEdge(node3, node4); | 2228 graph.addEdge(node3, node4); |
| 2229 graph.addEdge(node4, node5); | 2229 graph.addEdge(node4, node5); |
| 2230 graph.addEdge(node5, node3); | 2230 graph.addEdge(node5, node3); |
| 2231 List<DirectedGraphTest_Node> cycle = graph.findCycleContaining(node1); | 2231 List<DirectedGraphTest_Node> cycle = graph.findCycleContaining(node1); |
| 2232 EngineTestCase.assertSizeOfList(5, cycle); | 2232 expect(cycle, hasLength(5)); |
| 2233 expect(cycle.contains(node1), isTrue); | 2233 expect(cycle.contains(node1), isTrue); |
| 2234 expect(cycle.contains(node2), isTrue); | 2234 expect(cycle.contains(node2), isTrue); |
| 2235 expect(cycle.contains(node3), isTrue); | 2235 expect(cycle.contains(node3), isTrue); |
| 2236 expect(cycle.contains(node4), isTrue); | 2236 expect(cycle.contains(node4), isTrue); |
| 2237 expect(cycle.contains(node5), isTrue); | 2237 expect(cycle.contains(node5), isTrue); |
| 2238 } | 2238 } |
| 2239 | 2239 |
| 2240 void test_findCycleContaining_cycle() { | 2240 void test_findCycleContaining_cycle() { |
| 2241 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); | 2241 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); |
| 2242 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); | 2242 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); |
| 2243 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); | 2243 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); |
| 2244 DirectedGraph<DirectedGraphTest_Node> graph = | 2244 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2245 new DirectedGraph<DirectedGraphTest_Node>(); | 2245 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2246 graph.addEdge(node1, node2); | 2246 graph.addEdge(node1, node2); |
| 2247 graph.addEdge(node2, node3); | 2247 graph.addEdge(node2, node3); |
| 2248 graph.addEdge(node2, new DirectedGraphTest_Node()); | 2248 graph.addEdge(node2, new DirectedGraphTest_Node()); |
| 2249 graph.addEdge(node3, node1); | 2249 graph.addEdge(node3, node1); |
| 2250 graph.addEdge(node3, new DirectedGraphTest_Node()); | 2250 graph.addEdge(node3, new DirectedGraphTest_Node()); |
| 2251 List<DirectedGraphTest_Node> cycle = graph.findCycleContaining(node1); | 2251 List<DirectedGraphTest_Node> cycle = graph.findCycleContaining(node1); |
| 2252 EngineTestCase.assertSizeOfList(3, cycle); | 2252 expect(cycle, hasLength(3)); |
| 2253 expect(cycle.contains(node1), isTrue); | 2253 expect(cycle.contains(node1), isTrue); |
| 2254 expect(cycle.contains(node2), isTrue); | 2254 expect(cycle.contains(node2), isTrue); |
| 2255 expect(cycle.contains(node3), isTrue); | 2255 expect(cycle.contains(node3), isTrue); |
| 2256 } | 2256 } |
| 2257 | 2257 |
| 2258 void test_findCycleContaining_notInGraph() { | 2258 void test_findCycleContaining_notInGraph() { |
| 2259 DirectedGraphTest_Node node = new DirectedGraphTest_Node(); | 2259 DirectedGraphTest_Node node = new DirectedGraphTest_Node(); |
| 2260 DirectedGraph<DirectedGraphTest_Node> graph = | 2260 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2261 new DirectedGraph<DirectedGraphTest_Node>(); | 2261 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2262 List<DirectedGraphTest_Node> cycle = graph.findCycleContaining(node); | 2262 List<DirectedGraphTest_Node> cycle = graph.findCycleContaining(node); |
| 2263 EngineTestCase.assertSizeOfList(1, cycle); | 2263 expect(cycle, hasLength(1)); |
| 2264 expect(cycle[0], node); | 2264 expect(cycle[0], node); |
| 2265 } | 2265 } |
| 2266 | 2266 |
| 2267 void test_findCycleContaining_null() { | 2267 void test_findCycleContaining_null() { |
| 2268 DirectedGraph<DirectedGraphTest_Node> graph = | 2268 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2269 new DirectedGraph<DirectedGraphTest_Node>(); | 2269 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2270 try { | 2270 try { |
| 2271 graph.findCycleContaining(null); | 2271 graph.findCycleContaining(null); |
| 2272 fail("Expected IllegalArgumentException"); | 2272 fail("Expected IllegalArgumentException"); |
| 2273 } on IllegalArgumentException catch (exception) { | 2273 } on IllegalArgumentException catch (exception) { |
| 2274 // Expected | 2274 // Expected |
| 2275 } | 2275 } |
| 2276 } | 2276 } |
| 2277 | 2277 |
| 2278 void test_findCycleContaining_singleton() { | 2278 void test_findCycleContaining_singleton() { |
| 2279 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); | 2279 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); |
| 2280 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); | 2280 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); |
| 2281 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); | 2281 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); |
| 2282 DirectedGraph<DirectedGraphTest_Node> graph = | 2282 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2283 new DirectedGraph<DirectedGraphTest_Node>(); | 2283 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2284 graph.addEdge(node1, node2); | 2284 graph.addEdge(node1, node2); |
| 2285 graph.addEdge(node2, node3); | 2285 graph.addEdge(node2, node3); |
| 2286 List<DirectedGraphTest_Node> cycle = graph.findCycleContaining(node1); | 2286 List<DirectedGraphTest_Node> cycle = graph.findCycleContaining(node1); |
| 2287 EngineTestCase.assertSizeOfList(1, cycle); | 2287 expect(cycle, hasLength(1)); |
| 2288 expect(cycle[0], node1); | 2288 expect(cycle[0], node1); |
| 2289 } | 2289 } |
| 2290 | 2290 |
| 2291 void test_getNodeCount() { | 2291 void test_getNodeCount() { |
| 2292 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); | 2292 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); |
| 2293 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); | 2293 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); |
| 2294 DirectedGraph<DirectedGraphTest_Node> graph = | 2294 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2295 new DirectedGraph<DirectedGraphTest_Node>(); | 2295 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2296 expect(graph.nodeCount, 0); | 2296 expect(graph.nodeCount, 0); |
| 2297 graph.addNode(node1); | 2297 graph.addNode(node1); |
| 2298 expect(graph.nodeCount, 1); | 2298 expect(graph.nodeCount, 1); |
| 2299 graph.addNode(node2); | 2299 graph.addNode(node2); |
| 2300 expect(graph.nodeCount, 2); | 2300 expect(graph.nodeCount, 2); |
| 2301 graph.removeNode(node1); | 2301 graph.removeNode(node1); |
| 2302 expect(graph.nodeCount, 1); | 2302 expect(graph.nodeCount, 1); |
| 2303 } | 2303 } |
| 2304 | 2304 |
| 2305 void test_getTails() { | 2305 void test_getTails() { |
| 2306 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); | 2306 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); |
| 2307 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); | 2307 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); |
| 2308 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); | 2308 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); |
| 2309 DirectedGraph<DirectedGraphTest_Node> graph = | 2309 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2310 new DirectedGraph<DirectedGraphTest_Node>(); | 2310 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2311 EngineTestCase.assertSizeOfSet(0, graph.getTails(node1)); | 2311 expect(graph.getTails(node1), hasLength(0)); |
| 2312 graph.addEdge(node1, node2); | 2312 graph.addEdge(node1, node2); |
| 2313 EngineTestCase.assertSizeOfSet(1, graph.getTails(node1)); | 2313 expect(graph.getTails(node1), hasLength(1)); |
| 2314 graph.addEdge(node1, node3); | 2314 graph.addEdge(node1, node3); |
| 2315 EngineTestCase.assertSizeOfSet(2, graph.getTails(node1)); | 2315 expect(graph.getTails(node1), hasLength(2)); |
| 2316 } | 2316 } |
| 2317 | 2317 |
| 2318 void test_removeAllNodes() { | 2318 void test_removeAllNodes() { |
| 2319 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); | 2319 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); |
| 2320 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); | 2320 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); |
| 2321 List<DirectedGraphTest_Node> nodes = new List<DirectedGraphTest_Node>(); | 2321 List<DirectedGraphTest_Node> nodes = new List<DirectedGraphTest_Node>(); |
| 2322 nodes.add(node1); | 2322 nodes.add(node1); |
| 2323 nodes.add(node2); | 2323 nodes.add(node2); |
| 2324 DirectedGraph<DirectedGraphTest_Node> graph = | 2324 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2325 new DirectedGraph<DirectedGraphTest_Node>(); | 2325 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2326 graph.addEdge(node1, node2); | 2326 graph.addEdge(node1, node2); |
| 2327 graph.addEdge(node2, node1); | 2327 graph.addEdge(node2, node1); |
| 2328 expect(graph.isEmpty, isFalse); | 2328 expect(graph.isEmpty, isFalse); |
| 2329 graph.removeAllNodes(nodes); | 2329 graph.removeAllNodes(nodes); |
| 2330 expect(graph.isEmpty, isTrue); | 2330 expect(graph.isEmpty, isTrue); |
| 2331 } | 2331 } |
| 2332 | 2332 |
| 2333 void test_removeEdge() { | 2333 void test_removeEdge() { |
| 2334 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); | 2334 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); |
| 2335 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); | 2335 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); |
| 2336 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); | 2336 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); |
| 2337 DirectedGraph<DirectedGraphTest_Node> graph = | 2337 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2338 new DirectedGraph<DirectedGraphTest_Node>(); | 2338 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2339 graph.addEdge(node1, node2); | 2339 graph.addEdge(node1, node2); |
| 2340 graph.addEdge(node1, node3); | 2340 graph.addEdge(node1, node3); |
| 2341 EngineTestCase.assertSizeOfSet(2, graph.getTails(node1)); | 2341 expect(graph.getTails(node1), hasLength(2)); |
| 2342 graph.removeEdge(node1, node2); | 2342 graph.removeEdge(node1, node2); |
| 2343 EngineTestCase.assertSizeOfSet(1, graph.getTails(node1)); | 2343 expect(graph.getTails(node1), hasLength(1)); |
| 2344 } | 2344 } |
| 2345 | 2345 |
| 2346 void test_removeNode() { | 2346 void test_removeNode() { |
| 2347 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); | 2347 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); |
| 2348 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); | 2348 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); |
| 2349 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); | 2349 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); |
| 2350 DirectedGraph<DirectedGraphTest_Node> graph = | 2350 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2351 new DirectedGraph<DirectedGraphTest_Node>(); | 2351 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2352 graph.addEdge(node1, node2); | 2352 graph.addEdge(node1, node2); |
| 2353 graph.addEdge(node1, node3); | 2353 graph.addEdge(node1, node3); |
| 2354 EngineTestCase.assertSizeOfSet(2, graph.getTails(node1)); | 2354 expect(graph.getTails(node1), hasLength(2)); |
| 2355 graph.removeNode(node2); | 2355 graph.removeNode(node2); |
| 2356 EngineTestCase.assertSizeOfSet(1, graph.getTails(node1)); | 2356 expect(graph.getTails(node1), hasLength(1)); |
| 2357 } | 2357 } |
| 2358 | 2358 |
| 2359 void test_removeSink() { | 2359 void test_removeSink() { |
| 2360 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); | 2360 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); |
| 2361 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); | 2361 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); |
| 2362 DirectedGraph<DirectedGraphTest_Node> graph = | 2362 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2363 new DirectedGraph<DirectedGraphTest_Node>(); | 2363 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2364 graph.addEdge(node1, node2); | 2364 graph.addEdge(node1, node2); |
| 2365 expect(graph.removeSink(), same(node2)); | 2365 expect(graph.removeSink(), same(node2)); |
| 2366 expect(graph.removeSink(), same(node1)); | 2366 expect(graph.removeSink(), same(node1)); |
| 2367 expect(graph.isEmpty, isTrue); | 2367 expect(graph.isEmpty, isTrue); |
| 2368 } | 2368 } |
| 2369 | 2369 |
| 2370 void test_topologicalSort_noCycles() { | 2370 void test_topologicalSort_noCycles() { |
| 2371 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); | 2371 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); |
| 2372 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); | 2372 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); |
| 2373 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); | 2373 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); |
| 2374 DirectedGraph<DirectedGraphTest_Node> graph = | 2374 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2375 new DirectedGraph<DirectedGraphTest_Node>(); | 2375 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2376 graph.addEdge(node1, node2); | 2376 graph.addEdge(node1, node2); |
| 2377 graph.addEdge(node1, node3); | 2377 graph.addEdge(node1, node3); |
| 2378 graph.addEdge(node2, node3); | 2378 graph.addEdge(node2, node3); |
| 2379 List<List<DirectedGraphTest_Node>> topologicalSort = | 2379 List<List<DirectedGraphTest_Node>> topologicalSort = |
| 2380 graph.computeTopologicalSort(); | 2380 graph.computeTopologicalSort(); |
| 2381 EngineTestCase.assertSizeOfList(3, topologicalSort); | 2381 expect(topologicalSort, hasLength(3)); |
| 2382 EngineTestCase.assertSizeOfList(1, topologicalSort[0]); | 2382 expect(topologicalSort[0], hasLength(1)); |
| 2383 expect(topologicalSort[0][0], node3); | 2383 expect(topologicalSort[0][0], node3); |
| 2384 EngineTestCase.assertSizeOfList(1, topologicalSort[1]); | 2384 expect(topologicalSort[1], hasLength(1)); |
| 2385 expect(topologicalSort[1][0], node2); | 2385 expect(topologicalSort[1][0], node2); |
| 2386 EngineTestCase.assertSizeOfList(1, topologicalSort[2]); | 2386 expect(topologicalSort[2], hasLength(1)); |
| 2387 expect(topologicalSort[2][0], node1); | 2387 expect(topologicalSort[2][0], node1); |
| 2388 } | 2388 } |
| 2389 | 2389 |
| 2390 void test_topologicalSort_withCycles() { | 2390 void test_topologicalSort_withCycles() { |
| 2391 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); | 2391 DirectedGraphTest_Node node1 = new DirectedGraphTest_Node(); |
| 2392 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); | 2392 DirectedGraphTest_Node node2 = new DirectedGraphTest_Node(); |
| 2393 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); | 2393 DirectedGraphTest_Node node3 = new DirectedGraphTest_Node(); |
| 2394 DirectedGraphTest_Node node4 = new DirectedGraphTest_Node(); | 2394 DirectedGraphTest_Node node4 = new DirectedGraphTest_Node(); |
| 2395 DirectedGraph<DirectedGraphTest_Node> graph = | 2395 DirectedGraph<DirectedGraphTest_Node> graph = |
| 2396 new DirectedGraph<DirectedGraphTest_Node>(); | 2396 new DirectedGraph<DirectedGraphTest_Node>(); |
| 2397 graph.addEdge(node1, node2); | 2397 graph.addEdge(node1, node2); |
| 2398 graph.addEdge(node2, node1); | 2398 graph.addEdge(node2, node1); |
| 2399 graph.addEdge(node1, node3); | 2399 graph.addEdge(node1, node3); |
| 2400 graph.addEdge(node3, node4); | 2400 graph.addEdge(node3, node4); |
| 2401 graph.addEdge(node4, node3); | 2401 graph.addEdge(node4, node3); |
| 2402 List<List<DirectedGraphTest_Node>> topologicalSort = | 2402 List<List<DirectedGraphTest_Node>> topologicalSort = |
| 2403 graph.computeTopologicalSort(); | 2403 graph.computeTopologicalSort(); |
| 2404 EngineTestCase.assertSizeOfList(2, topologicalSort); | 2404 expect(topologicalSort, hasLength(2)); |
| 2405 EngineTestCase.assertContains(topologicalSort[0], [node3, node4]); | 2405 EngineTestCase.assertContains(topologicalSort[0], [node3, node4]); |
| 2406 EngineTestCase.assertContains(topologicalSort[1], [node1, node2]); | 2406 EngineTestCase.assertContains(topologicalSort[1], [node1, node2]); |
| 2407 } | 2407 } |
| 2408 } | 2408 } |
| 2409 | 2409 |
| 2410 /** | 2410 /** |
| 2411 * Instances of the class `Node` represent simple nodes used for testing purpose
s. | 2411 * Instances of the class `Node` represent simple nodes used for testing purpose
s. |
| 2412 */ | 2412 */ |
| 2413 class DirectedGraphTest_Node { | 2413 class DirectedGraphTest_Node { |
| 2414 } | 2414 } |
| (...skipping 2884 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5299 } | 5299 } |
| 5300 | 5300 |
| 5301 void test_get_added() { | 5301 void test_get_added() { |
| 5302 TokenMap tokenMap = new TokenMap(); | 5302 TokenMap tokenMap = new TokenMap(); |
| 5303 Token key = TokenFactory.tokenFromType(TokenType.AT); | 5303 Token key = TokenFactory.tokenFromType(TokenType.AT); |
| 5304 Token value = TokenFactory.tokenFromType(TokenType.AT); | 5304 Token value = TokenFactory.tokenFromType(TokenType.AT); |
| 5305 tokenMap.put(key, value); | 5305 tokenMap.put(key, value); |
| 5306 expect(tokenMap.get(key), same(value)); | 5306 expect(tokenMap.get(key), same(value)); |
| 5307 } | 5307 } |
| 5308 } | 5308 } |
| OLD | NEW |