package org.testng.eclipse.ui.tree;
import org.eclipse.swt.widgets.Tree;
import org.testng.ITestResult;
import org.testng.eclipse.ui.RunInfo;
import java.text.MessageFormat;
/**
* A node that represents the suite (the root of the tree).
*
* @author Cedric Beust <cedric@beust.com>
*/
public class SuiteTreeItem extends BaseTreeItem implements ITreeItem {
private final static String FORMATTED_MESSAGE = "{0} ( {1}/{2}/{3}/{4} ) ({5} s)";
private int m_passed;
private int m_failed;
private int m_skipped;
private int m_percentage;
public SuiteTreeItem(Tree parent, RunInfo runInfo) {
super(parent, runInfo);
updateView(runInfo);
}
public void update(RunInfo runInfo) {
int status = runInfo.getStatus();
if (status == ITestResult.SUCCESS) m_passed++;
else if (status == ITestResult.FAILURE) m_failed++;
else if (status == ITestResult.SKIP) m_skipped++;
else m_percentage++;
updateView(runInfo);
}
private void updateView(RunInfo runInfo) {
getTreeItem().setText(MessageFormat.format(FORMATTED_MESSAGE,
getRunInfo().getSuiteName(),
new Integer(m_passed),
new Integer(m_failed),
new Integer(m_skipped),
new Integer(m_percentage),
getTime() / 1000
)
);
maybeUpdateImage(runInfo);
}
}