package org.testng.eclipse.ui.summary; import org.eclipse.jface.viewers.Viewer; import org.testng.eclipse.ui.RunInfo; /** * The sorter used for the test table. * * @author Cedric Beust <cedric@beust.com> */ public class RunInfoTableSorter extends AbstractTableSorter { public RunInfoTableSorter(SummaryTab tab) { super(tab); } public int compare(Viewer viewer, Object e1, Object e2) { int result = 0; RunInfo r1 = (RunInfo) e1; RunInfo r2 = (RunInfo) e2; switch(m_column) { // Test name case 0 : result = r1.getTestName().compareTo(r2.getTestName()); break; // Time case 1: result = (int) (m_tab.getTestTime(r1.getTestId()) - m_tab.getTestTime(r2.getTestId())); break; // Class count case 2: result = (int) (m_tab.getTestClassCount(r1.getTestId()) - m_tab.getTestClassCount(r2.getTestId())); break; // Method count case 3: result = (int) (m_tab.getTestMethodCount(r1.getTestId()) - m_tab.getTestMethodCount(r2.getTestId())); break; } return adjustDirection(result); } }