1
2
3
4
5
6
7
8
9
10
11 package org.astrogrid.jes.jobscheduler.impl.groovy;
12
13 import org.astrogrid.workflow.beans.v1.For;
14 import org.astrogrid.workflow.beans.v1.Script;
15 import org.astrogrid.workflow.beans.v1.Sequence;
16 import org.astrogrid.workflow.beans.v1.Set;
17 import org.astrogrid.workflow.beans.v1.Workflow;
18
19 /***
20 * @author Noel Winstanley nw@jb.man.ac.uk 09-Dec-2004
21 *
22 */
23 public class ForMultipleFeatureTest extends ForManyFeatureTest {
24
25 /*** Construct a new ForMultipleFeatureTest
26 * @param name
27 */
28 public ForMultipleFeatureTest(String name) {
29 super(name);
30 }
31
32 /***
33 * @see org.astrogrid.jes.jobscheduler.impl.groovy.AbstractTestForFeature#buildWorkflow()
34 */
35 protected Workflow buildWorkflow() {
36 Workflow wf = super.createMinimalWorkflow();
37 Set acc = new Set();
38 acc.setVar("acc");
39 acc.setValue("${0}");
40 wf.getSequence().addActivity(acc);
41
42 For f = new For();
43 f.setVar("i");
44 f.setItems("${1..10}");
45 Sequence seq = new Sequence();
46 f.setActivity(seq);
47
48 Script sc = new Script();
49 sc.setBody("acc = acc + i");
50 seq.addActivity(sc);
51
52 Script sc2 = new Script();
53 sc2.setBody("acc = acc + 100");
54 seq.addActivity(sc2);
55
56
57 Script sc1 = new Script();
58 sc1.setBody("acc = acc + 10");
59 seq.addActivity(sc1);
60
61 wf.getSequence().addActivity(f);
62
63
64 Script end1 = new Script();
65 end1.setBody("print (acc)");
66 wf.getSequence().addActivity(end1);
67
68 return wf;
69 }
70
71 protected void verifyWorkflow(Workflow result) {
72 assertWorkflowCompleted(result);
73
74
75
76
77
78
79
80
81
82 Script end = (Script)result.getSequence().getActivity(2);
83 assertScriptCompletedWithMessage(end,"1155");
84 }
85 }
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102