put unit tests here
authorjjenista <jjenista>
Tue, 27 Sep 2011 23:16:50 +0000 (23:16 +0000)
committerjjenista <jjenista>
Tue, 27 Sep 2011 23:16:50 +0000 (23:16 +0000)
Robust/src/Analysis/Disjoint/ReachState.java
Robust/src/Analysis/Disjoint/UnitTests/CanonicalTest.java [new file with mode: 0644]
Robust/src/Analysis/Disjoint/UnitTests/makefile [new file with mode: 0644]

index 3a3cdc5cbbe8c2b9a18ef8b3f530cda4aafc60af..4c41b55a9b91cad2ef32663876566c84107283f5 100644 (file)
@@ -43,11 +43,13 @@ public class ReachState extends Canonical {
     return out;
   }
 
-  public static ReachState factory(ReachTuple rt) {
-    assert rt != null;
-    assert rt.isCanonical();
+  public static ReachState factory(ReachTuple... rts) {
     ReachState out = new ReachState();
-    out.reachTuples.add(rt);
+    for( ReachTuple rt : rts ) {
+      assert rt != null;
+      assert rt.isCanonical();
+      out.reachTuples.add(rt);
+    }
     out = (ReachState) Canonical.makeCanonical(out);
     return out;
   }
diff --git a/Robust/src/Analysis/Disjoint/UnitTests/CanonicalTest.java b/Robust/src/Analysis/Disjoint/UnitTests/CanonicalTest.java
new file mode 100644 (file)
index 0000000..81033ee
--- /dev/null
@@ -0,0 +1,29 @@
+package Analysis.Disjoint.UnitTests;
+
+import IR.*;
+import IR.Flat.*;
+import java.util.*;
+import java.io.*;
+
+import Analysis.Disjoint.*;
+
+
+public class CanonicalTest {
+
+  private static void check( String testName, ReachState expected, ReachState actual ) {
+    System.out.print( testName + "... " );
+    if( expected.equals( actual ) ) {
+      System.out.println( "passed" );
+    } else {
+      System.out.println( "FAILED" );
+    }
+  }
+
+  public static void main( String[] args ) {
+    ReachTuple a    = ReachTuple.factory( 1, false, ReachTuple.ARITY_ONE, false );
+    ReachTuple aooc = ReachTuple.factory( 1, false, ReachTuple.ARITY_ONE, true );
+    ReachState state1 = ReachState.factory( a, aooc );
+    ReachState state2 = ReachState.factory( a, aooc );
+    check( "a test", state1, state2 );
+  }
+}
diff --git a/Robust/src/Analysis/Disjoint/UnitTests/makefile b/Robust/src/Analysis/Disjoint/UnitTests/makefile
new file mode 100644 (file)
index 0000000..95625ea
--- /dev/null
@@ -0,0 +1,12 @@
+CLASSPATH=../../..
+MAINCLASS=CanonicalTest
+
+all: $(MAINCLASS).java
+       javac -classpath $(CLASSPATH) -Xlint $(MAINCLASS).java
+
+run:
+       java -classpath $(CLASSPATH) Analysis.Disjoint.UnitTests.$(MAINCLASS)
+
+clean:
+       rm -f *.class
+       rm -f *~