Added some functionality to reachability classes that is apparently
[IRC.git] / Robust / src / Tests / OwnershipAnalysisTest / testTokens / Main.java
index ac1155558fd6c2f44c12737a4a9bfa2469233b4a..7fe7473360e84ea92770ebfcf71cc788a18fa6bb 100644 (file)
@@ -21,7 +21,7 @@ public class Main {
 
     public static void main(String args[]) throws Exception {
 
-       
+       /*
        // example test to know the testing routine is correct!
        test( "4 == 5?", false, 4 == 5 );
        test( "3 == 3?", true,  3 == 3 );
@@ -106,7 +106,7 @@ public class Main {
        System.out.println( "rs1 is "+rs1 );
 
 
-       ChangeTupleSet cts0 = rs0.unionUpArity( rs1 );
+       ChangeTupleSet cts0 = rs0.unionUpArityToChangeSet( rs1 );
        System.out.println( "cts0 is "+cts0 );
        
 
@@ -178,6 +178,141 @@ public class Main {
        tts01 = (TokenTupleSet) Canonical.makeCanonical( tts01 );
 
        test( "tts00 equals tts01?", true,  tts00.equals( tts01 ) );    
-       test( "tts00 ==     tts01?", true,  tts00 ==      tts01   );    
+       test( "tts00 ==     tts01?", true,  tts00 ==      tts01   );
+
+
+       
+       ReachabilitySet rs2 = new ReachabilitySet( tts00 );
+       ReachabilitySet rs3 = new ReachabilitySet( tts01 ).union( rs2 );
+
+       System.out.println( "rs3 is "+rs3 );
+
+       rs3 = rs3.increaseArity( new Integer( 11 ) );
+       System.out.println( "rs3 is "+rs3 );
+       */
+
+
+       TokenTuple tt11 = new TokenTuple( new Integer( 1 ),
+                                        false,
+                                        TokenTuple.ARITY_ONE );
+
+       TokenTuple tt12 = new TokenTuple( new Integer( 2 ),
+                                        true,
+                                        TokenTuple.ARITY_ONE );
+
+       TokenTuple tt13 = new TokenTuple( new Integer( 3 ),
+                                        true,
+                                        TokenTuple.ARITY_MANY );
+
+       TokenTuple tt14 = new TokenTuple( new Integer( 4 ),
+                                        true,
+                                        TokenTuple.ARITY_ONE );
+
+       TokenTuple tt15 = new TokenTuple( new Integer( 5 ),
+                                        true,
+                                        TokenTuple.ARITY_ONE );
+
+       TokenTuple tt16 = new TokenTuple( new Integer( 6 ),
+                                        true,
+                                        TokenTuple.ARITY_MANY );
+
+       /*
+       TokenTupleSet tts10 = new TokenTupleSet();
+       tts10 = tts10.add( tt11 );
+       tts10 = tts10.add( tt12 );
+       tts10 = tts10.add( tt13 );
+       tts10 = tts10.add( tt14 );
+       tts10 = tts10.add( tt15 );
+       tts10 = tts10.add( tt16 );
+       */
+
+       TokenTuple tt21 = new TokenTuple( new Integer( 1 ),
+                                        false,
+                                        TokenTuple.ARITY_ONE );
+
+       TokenTuple tt22 = new TokenTuple( new Integer( 5 ),
+                                        true,
+                                        TokenTuple.ARITY_ONE );
+
+       TokenTuple tt23 = new TokenTuple( new Integer( 3 ),
+                                        true,
+                                        TokenTuple.ARITY_ONE );
+
+       TokenTuple tt24 = new TokenTuple( new Integer( 6 ),
+                                        true,
+                                        TokenTuple.ARITY_MANY );
+
+       TokenTuple tt25 = new TokenTuple( new Integer( 7 ),
+                                        true,
+                                        TokenTuple.ARITY_ONE );
+
+       TokenTuple tt26 = new TokenTuple( new Integer( 8 ),
+                                        true,
+                                        TokenTuple.ARITY_MANY );
+
+       /*
+       TokenTupleSet tts20 = new TokenTupleSet();
+       tts20 = tts20.add( tt21 );
+       tts20 = tts20.add( tt22 );
+       tts20 = tts20.add( tt23 );
+       tts20 = tts20.add( tt24 );
+       tts20 = tts20.add( tt25 );
+       tts20 = tts20.add( tt26 );              
+
+       TokenTupleSet tts30 = tts10.unionUpArity( tts20 );
+
+       System.out.println( "tts10 is "+tts10 );
+       System.out.println( "tts20 is "+tts20 );
+       System.out.println( "" );
+       System.out.println( "tts30 is "+tts30 );
+       */
+
+       TokenTupleSet tts40 = new TokenTupleSet();
+       tts40 = tts40.add( tt21 );
+       tts40 = tts40.add( tt23 );
+
+       TokenTupleSet tts50 = new TokenTupleSet();
+       tts50 = tts50.add( tt21 );
+       tts50 = tts50.add( tt23 );
+       tts50 = tts50.add( tt22 );
+
+       TokenTupleSet tts60 = new TokenTupleSet();
+       tts60 = tts60.add( tt21 );
+       tts60 = tts60.add( tt24 );
+
+       TokenTupleSet tts70 = new TokenTupleSet();
+       tts70 = tts70.add( tt11 );
+       tts70 = tts70.add( tt13 );
+       tts70 = tts70.add( tt12 );
+
+       TokenTupleSet tts71 = new TokenTupleSet();
+       tts71 = tts71.add( tt13 );
+       tts71 = tts71.add( tt11 );
+       tts71 = tts71.add( tt15 );
+
+       TokenTupleSet tts72 = new TokenTupleSet();
+       tts72 = tts72.add( tt11 );
+       tts72 = tts72.add( tt16 );
+
+       TokenTupleSet tts73 = new TokenTupleSet();
+       tts73 = tts73.add( tt12 );
+
+       ReachabilitySet rs40 = new ReachabilitySet();
+       rs40 = rs40.add( tts40 );
+       rs40 = rs40.add( tts50 );
+       rs40 = rs40.add( tts60 );
+
+       ReachabilitySet rs50 = new ReachabilitySet();
+       rs50 = rs50.add( tts70 );
+       rs50 = rs50.add( tts71 );
+       rs50 = rs50.add( tts72 );
+       rs50 = rs50.add( tts73 );
+
+       ReachabilitySet rs60 = rs50.unionUpArity( rs40 );
+
+       System.out.println( "rs40 is "+rs40 );
+       System.out.println( "rs50 is "+rs50 );
+       System.out.println( "" );
+       System.out.println( "rs60 is "+rs60 );
     }
 }