From 82c7cc6a901e0c5bb93e0784385bf9af84335eff Mon Sep 17 00:00:00 2001 From: jjenista Date: Tue, 27 Sep 2011 23:16:50 +0000 Subject: [PATCH] put unit tests here --- Robust/src/Analysis/Disjoint/ReachState.java | 10 ++++--- .../Disjoint/UnitTests/CanonicalTest.java | 29 +++++++++++++++++++ .../src/Analysis/Disjoint/UnitTests/makefile | 12 ++++++++ 3 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 Robust/src/Analysis/Disjoint/UnitTests/CanonicalTest.java create mode 100644 Robust/src/Analysis/Disjoint/UnitTests/makefile diff --git a/Robust/src/Analysis/Disjoint/ReachState.java b/Robust/src/Analysis/Disjoint/ReachState.java index 3a3cdc5c..4c41b55a 100644 --- a/Robust/src/Analysis/Disjoint/ReachState.java +++ b/Robust/src/Analysis/Disjoint/ReachState.java @@ -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 index 00000000..81033ee7 --- /dev/null +++ b/Robust/src/Analysis/Disjoint/UnitTests/CanonicalTest.java @@ -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 index 00000000..95625ea6 --- /dev/null +++ b/Robust/src/Analysis/Disjoint/UnitTests/makefile @@ -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 *~ -- 2.34.1