// A SATtest object defines a model test
// each test has a name, an outcome (satifiable or not)
// plus the list of feature selections
// this information (along with the model predicate) are submitted
// to a SAT solver for verifying the outcome.
import java.util.*;
public class SATtest {
String name;
boolean isSat;
boolean completeTest;
public Vector selections;
public SATtest( String testName, boolean result, boolean isComplete ) {
name = testName;
isSat = result;
completeTest = isComplete;
selections = new Vector();
}
public void add( Object o ) {
selections.add( o );
}
public boolean isComplete() { return completeTest; }
// for debugging
public void print() {
System.out.println( "test (" + name + ") " + isSat );
for ( int i = 0; i< selections.size(); i++ ) {
String s = ( String ) selections.elementAt( i );
System.out.println( " " + s );
}
System.out.println();
}
public String getName() { return name; }
public boolean getResult() { return isSat; }
public Vector getSelections() { return selections; }
}