-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtasks.py
90 lines (86 loc) · 2.14 KB
/
tasks.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/usr/bin/env python
# encoding: utf-8
from base_task import BaseTask, Node
task_definitions = [
{
'name': 'first_test_runs_task',
'start': Node('A', 0, 0),
'finish': Node('Z', 500, 500),
'mid_nodes': [
Node('B', 50, 500),
Node('C', 50, 100),
Node('D', 0, 550),
Node('E', 500, 100),
Node('F', 250, 250),
Node('G', 150, 400),
Node('H', 350, 150),
],
'distances': {
'A:B': 10,
},
'timeout': 1,
},
{
'name': 'test_task_symetric_distances_only',
'start': Node('A', 0, 0),
'finish': Node('Z', 500, 500),
'mid_nodes': [
Node('B', 50, 500),
Node('C', 50, 100),
Node('D', 0, 550),
Node('E', 500, 100),
Node('F', 250, 250),
Node('G', 150, 400),
Node('H', 350, 150),
],
'distances': {
'A:B': 10,
'B:A': 10,
'B:C': 5,
'C:D': 10,
'D:E': 30,
'E:F': 17,
'F:G': 35,
'G:H': 40,
'H:C': 20,
'F:A': 15,
'F:C': 5,
'A:Z': 30,
},
'timeout': 10,
'paths_only': True,
},
{
'name': 'test_task_asymetric_distances_only',
'start': Node('A', 0, 0),
'finish': Node('Z', 500, 500),
'mid_nodes': [
Node('B', 50, 500),
Node('C', 50, 100),
Node('D', 0, 550),
Node('E', 500, 100),
Node('F', 250, 250),
Node('G', 150, 400),
Node('H', 350, 150),
],
'distances': {
'A:B': 10,
'B:C': 5,
'C:D': 10,
'D:E': 30,
'E:F': 17,
'F:G': 35,
'G:H': 40,
'H:C': 20,
'F:A': 15,
'F:C': 5,
'F:Z': 1,
},
'timeout': 1,
'paths_only': True,
'symetric': False,
},
]
tasks = {}
for task_def in task_definitions:
tasks[task_def['name']] = BaseTask(**task_def)