package fitnesse.testsystems;
public enum ExecutionResult {
ERROR,
FAIL,
IGNORE,
PASS;
@Override
public String toString() {
return this.name().toLowerCase();
}
public static ExecutionResult getExecutionResult(String relativeName, TestSummary testSummary) {
return getExecutionResult(relativeName, testSummary, false);
}
public static ExecutionResult getExecutionResult(String relativeName, TestSummary testSummary, boolean wasInterrupted) {
if (testSummary.getWrong() > 0 || wasInterrupted) {
return FAIL;
} else if (testSummary.getExceptions() > 0) {
return ERROR;
} else if (((isSuiteMetaPage(relativeName) && testSummary.getIgnores() > 0)
|| (!isSuiteMetaPage(relativeName) && testSummary.getIgnores() >= 0)) && testSummary.getRight() == 0) {
return IGNORE;
}
return PASS;
}
public static ExecutionResult getExecutionResult(TestSummary testSummary) {
if (testSummary.getWrong() > 0) {
return FAIL;
} else if (testSummary.getExceptions() > 0) {
return ERROR;
} else if (testSummary.getRight() > 0) {
return PASS;
}
return IGNORE;
}
public static boolean isSuiteMetaPage(String relativeName) {
return relativeName != null && (relativeName.equals("SuiteSetUp")
|| relativeName.endsWith(".SuiteSetUp")
|| relativeName.equals("SuiteTearDown")
|| relativeName.endsWith(".SuiteTearDown"));
}
}