3 import Analysis.OwnershipAnalysis.*;
10 protected static void test( String test,
14 String outcome = "...\tFAILED";
15 if( expected == result ) {
16 outcome = "...\tpassed";
19 System.out.println( test+" expected "+expected+outcome );
22 public static void main(String args[]) throws Exception {
24 // example test to know the testing routine is correct!
25 test( "4 == 5?", false, 4 == 5 );
26 test( "3 == 3?", true, 3 == 3 );
29 TokenTuple tt0 = new TokenTuple( new Integer( 1 ),
31 TokenTuple.ARITY_ONE );
33 TokenTuple tt1 = new TokenTuple( new Integer( 1 ),
35 TokenTuple.ARITY_ONE );
37 TokenTuple tt2 = new TokenTuple( new Integer( 2 ),
39 TokenTuple.ARITY_ONE );
41 TokenTuple tt3 = new TokenTuple( new Integer( 1 ),
43 TokenTuple.ARITY_MANY );
45 test( "tt0 equals tt1?", true, tt0.equals( tt1 ) );
46 test( "tt1 equals tt0?", true, tt1.equals( tt0 ) );
48 test( "tt0 equals tt2?", false, tt0.equals( tt2 ) );
49 test( "tt2 equals tt0?", false, tt2.equals( tt0 ) );
51 test( "tt0 equals tt3?", false, tt0.equals( tt3 ) );
52 test( "tt3 equals tt0?", false, tt3.equals( tt0 ) );
54 test( "tt2 equals tt3?", false, tt2.equals( tt3 ) );
55 test( "tt3 equals tt2?", false, tt3.equals( tt2 ) );
57 tt1 = tt1.increaseArity();
59 test( "tt1 equals tt2?", false, tt1.equals( tt2 ) );
60 test( "tt2 equals tt1?", false, tt2.equals( tt1 ) );
62 test( "tt1 equals tt3?", true, tt1.equals( tt3 ) );
63 test( "tt3 equals tt1?", true, tt3.equals( tt1 ) );
66 TokenTupleSet tts0 = new TokenTupleSet( tt0 );
67 TokenTupleSet tts1 = new TokenTupleSet( tt1 );
68 TokenTupleSet tts2 = new TokenTupleSet( tt2 );
69 TokenTupleSet tts3 = new TokenTupleSet( tt3 );
70 TokenTupleSet tts4 = tts1.union( tts3 );
71 TokenTupleSet tts5 = tts0.union( tts2 );
72 TokenTupleSet tts6 = tts1.union( tts1 );
74 System.out.println( "tts4 is "+tts4 );
75 System.out.println( "tts5 is "+tts5 );
76 System.out.println( "tts6 is "+tts6 );
78 ReachabilitySet rs0 = new ReachabilitySet( tts0 );
79 rs0 = rs0.union( new ReachabilitySet( tts2 ) );
80 rs0 = rs0.union( new ReachabilitySet( tts5 ) );
82 System.out.println( "rs0 is "+rs0 );
84 TokenTuple tt4 = new TokenTuple( new Integer( 4 ),
86 TokenTuple.ARITY_ONE );
88 /* TokenTuple tt5 = new TokenTuple( new Integer( 4 ),
90 TokenTuple.ARITY_ONE );
92 TokenTuple tt6 = new TokenTuple( new Integer( 6 ),
94 TokenTuple.ARITY_ONE );
96 TokenTupleSet tts7 = new TokenTupleSet( tt4 );
97 //TokenTupleSet tts8 = new TokenTupleSet( tt5 );
98 TokenTupleSet tts9 = new TokenTupleSet( tt1 );
99 tts9 = tts9.union( tts2 );
101 ReachabilitySet rs1 = new ReachabilitySet( tts7 );
102 //rs1 = rs1.union( new ReachabilitySet( tts8 ) );
103 rs1 = rs1.union( new ReachabilitySet( tts9 ) );
105 System.out.println( "rs1 is "+rs1 );
108 ChangeTupleSet cts0 = rs0.unionUpArity( rs1 );
109 System.out.println( "cts0 is "+cts0 );