/** * Gets the set of completed tests. */ public Set<TestIdentifier> getCompletedTests() { Set<TestIdentifier> completedTests = new LinkedHashSet<TestIdentifier>(); for (Map.Entry<TestIdentifier, TestResult> testEntry : getTestResults().entrySet()) { if (!testEntry.getValue().getStatus().equals(TestStatus.INCOMPLETE)) { completedTests.add(testEntry.getKey()); } } return completedTests; }
/** * Return a user friendly string describing results. * * @return */ public String getTextSummary() { StringBuilder builder = new StringBuilder(); builder.append(String.format("Total tests %d, ", getNumTests())); for (TestStatus status : TestStatus.values()) { int count = getNumTestsInState(status); // only add descriptive state for states that have non zero values, to avoid cluttering // the response if (count > 0) { builder.append(String.format("%s %d, ", status.toString().toLowerCase(), count)); } } return builder.toString(); } }
/** * Gets the number of tests in given state for this run. */ public int getNumTestsInState(TestStatus status) { if (mIsCountDirty) { // clear counts for (int i=0; i < mStatusCounts.length; i++) { mStatusCounts[i] = 0; } // now recalculate for (TestResult r : mTestResults.values()) { mStatusCounts[r.getStatus().ordinal()]++; } mIsCountDirty = false; } return mStatusCounts[status.ordinal()]; }
@Override public void testEnded(TestIdentifier test, Map<String, String> testMetrics) { TestResult result = mTestResults.get(test); if (result == null) { result = new TestResult(); } if (result.getStatus().equals(TestStatus.INCOMPLETE)) { result.setStatus(TestStatus.PASSED); } result.setEndTime(System.currentTimeMillis()); result.setMetrics(testMetrics); addTestResult(test, result); }