b6a0508938bc96e9e108c9d95fe66c33908992d3
[IRC.git] / Robust / src / Tests / OwnershipAnalysisTest / testTokens / Main.java
1 import IR.*;
2 import IR.Flat.*;
3 import Analysis.OwnershipAnalysis.*;
4 import java.util.*;
5 import java.io.*;
6
7
8 public class Main {
9
10     protected static void test( String test,
11                                 boolean expected,
12                                 boolean result ) {
13
14         String outcome = "...\tFAILED";
15         if( expected == result ) {
16             outcome = "...\tpassed";
17         }
18         
19         System.out.println( test+" expected "+expected+outcome );
20     }
21
22     public static void main(String args[]) throws Exception {
23
24         // example test to know the testing routine is correct!
25         test( "4 == 5?", false, 4 == 5 );
26         test( "3 == 3?", true,  3 == 3 );
27
28
29         TokenTuple tt0 = new TokenTuple( new Integer( 1 ),
30                                          true,
31                                          TokenTuple.ARITY_ONE );
32
33         TokenTuple tt1 = tt0.copy();
34
35         TokenTuple tt2 = new TokenTuple( new Integer( 2 ),
36                                          true,
37                                          TokenTuple.ARITY_ONE );
38
39         TokenTuple tt3 = new TokenTuple( new Integer( 1 ),
40                                          true,
41                                          TokenTuple.ARITY_MANY );
42
43         test( "tt0 equals tt1?", true,  tt0.equals( tt1 ) );
44         test( "tt1 equals tt0?", true,  tt1.equals( tt0 ) );
45
46         test( "tt0 equals tt2?", false, tt0.equals( tt2 ) );
47         test( "tt2 equals tt0?", false, tt2.equals( tt0 ) );
48
49         test( "tt0 equals tt3?", false, tt0.equals( tt3 ) );
50         test( "tt3 equals tt0?", false, tt3.equals( tt0 ) );
51
52         test( "tt2 equals tt3?", false, tt2.equals( tt3 ) );
53         test( "tt3 equals tt2?", false, tt3.equals( tt2 ) );
54
55         tt1.increaseArity();
56
57         test( "tt1 equals tt2?", false, tt1.equals( tt2 ) );
58         test( "tt2 equals tt1?", false, tt2.equals( tt1 ) );
59
60         test( "tt1 equals tt3?", true,  tt1.equals( tt3 ) );
61         test( "tt3 equals tt1?", true,  tt3.equals( tt1 ) );
62         
63         
64         TokenTupleSet tts0 = new TokenTupleSet( tt0 );
65         TokenTupleSet tts1 = new TokenTupleSet( tt1 );
66         TokenTupleSet tts2 = new TokenTupleSet( tt2 );
67         TokenTupleSet tts3 = new TokenTupleSet( tt3 );
68         TokenTupleSet tts4 = tts1.union( tts3 );
69         TokenTupleSet tts5 = tts0.union( tts2 );
70         TokenTupleSet tts6 = tts1.union( tts1 );
71
72         System.out.println( "tts4 is "+tts4 );
73         System.out.println( "tts5 is "+tts5 );
74         System.out.println( "tts6 is "+tts6 );
75     }
76 }