1   package net.kwfgrid.gworkflowdl;
2   
3   import junit.framework.Test;
4   import junit.framework.TestSuite;
5   import net.kwfgrid.gworkflowdl.analysis.AnalysisTransition;
6   import net.kwfgrid.gworkflowdl.analysis.KarpMillerTree;
7   import net.kwfgrid.gworkflowdl.analysis.Marking;
8   
9   /***
10   * Created by IntelliJ IDEA.
11   * User: hans
12   * Date: 12.10.2005
13   * Time: 15:41:59
14   * To change this template use File | Settings | File Templates.
15   */
16  public class KarpMillerTest extends AbstractTestCase {
17      public KarpMillerTest(String testName) {
18          super(testName);
19      }
20  
21      /***
22       * @return the suite of tests being tested
23       */
24      public static Test suite() {
25          return new TestSuite(KarpMillerTest.class);
26      }
27  
28  
29      /***
30       * Rigourous Test :-).
31       */
32      public void testApp() {
33          /*
34          int[] init = {1, 0, 0};
35          Marking initial = new Marking(init);
36          KarpMillerTree1.Node root = new KarpMillerTree1.Node();
37          root.marking = initial;
38          KarpMillerTree1 kmt = new KarpMillerTree1();
39          //kmt.root = root;
40  
41  
42          int[] in1 = {1, 0, 0};
43          int[] out1 = {0, 1, 0};
44          AnalysisTransition t1 = new AnalysisTransition(1, new Marking(in1), new Marking(out1));
45  
46          int[] in2 = {0, 1, 0};
47          int[] out2 = {1, 1, 1};
48          AnalysisTransition t2 = new AnalysisTransition(2, new Marking(in2), new Marking(out2));
49  
50          AnalysisTransition[] ts = {t1, t2};
51          kmt.transitions = ts;
52          kmt.N = 3;
53  
54          kmt.build(initial);
55          kmt.show();
56          */
57  
58          /*
59          int[] init = {1, 0};
60          Marking initial = new Marking(init);
61  
62          int[] in1 = {1, 0};
63          int[] out1 = {1, 0};
64          AnalysisTransition t1 = new AnalysisTransition(1, new Marking(in1), new Marking(out1));
65  
66          int[] in2 = {1, 0};
67          int[] out2 = {0, 1};
68          AnalysisTransition t2 = new AnalysisTransition(1, new Marking(in2), new Marking(out2));
69  
70          KarpMillerTree1 kmt = new KarpMillerTree1();
71          AnalysisTransition[] ts = {t1, t2};
72          kmt.transitions = ts;
73          kmt.N = 2;
74          kmt.build(initial);
75          kmt.show();
76          */
77  
78          int[] init = {1, 0, 0, 0};
79          Marking initial = new Marking(init);
80  
81          int[] in1 = {1, 0, 0, 0};
82          int[] out1 = {0, 1, 0, 0};
83          AnalysisTransition t1 = new AnalysisTransition(1, new Marking(in1), new Marking(out1));
84  
85          int[] in2 = {0, 5, 0, 0};
86          int[] out2 = {0, 0, 1, 0};
87          AnalysisTransition t2 = new AnalysisTransition(1, new Marking(in2), new Marking(out2));
88  
89          int[] in3 = {0, 1, 0, 0};
90          int[] out3 = {0, 0, 0, 2};
91  
92  
93          AnalysisTransition t3 = new AnalysisTransition(1, new Marking(in3), new Marking(out3));
94  
95  
96          int[] in4 = {0, 0, 0, 1};
97          int[] out4 = {0, 1, 0, 0};
98          AnalysisTransition t4 = new AnalysisTransition(1, new Marking(in4), new Marking(out4));
99  
100 
101 
102         KarpMillerTree kmt = new KarpMillerTree();
103         kmt.N = 4;
104         AnalysisTransition[] ts = {t1, t2, t3, t4};
105         kmt.transitions = ts;
106         kmt.N = 4;
107         kmt.initial = initial;
108         kmt.build();
109         kmt.show();
110 
111 
112     }
113 }