* Tests the behavior of {@link CoverageResult#getChildMetrics(CoverageElement)}.
*/
public void testGetChildMetricsCoverageElement() throws Exception {
ctl.replay();
// Project level
CoverageResult result = loadResults(FILE_COVERAGE_DATA);
result.setOwner(build);
assertEquals(new HashSet<CoverageMetric>(Arrays.asList(new CoverageMetric[] {CoverageMetric.FILES, CoverageMetric.CLASSES, CoverageMetric.METHOD, CoverageMetric.LINE, CoverageMetric.CONDITIONAL})), result.getChildMetrics(CoverageElement.JAVA_PACKAGE));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.PROJECT));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_FILE));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_CLASS));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_METHOD));
// Package level
result = result.getChild("search");
assertEquals(new HashSet<CoverageMetric>(Arrays.asList(new CoverageMetric[] {CoverageMetric.CLASSES, CoverageMetric.METHOD, CoverageMetric.LINE, CoverageMetric.CONDITIONAL})), result.getChildMetrics(CoverageElement.JAVA_FILE));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.PROJECT));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_PACKAGE));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_CLASS));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_METHOD));
// File level
result = result.getChild("LinearSearch.java");
assertEquals(new HashSet<CoverageMetric>(Arrays.asList(new CoverageMetric[] {CoverageMetric.METHOD, CoverageMetric.LINE, CoverageMetric.CONDITIONAL})), result.getChildMetrics(CoverageElement.JAVA_CLASS));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.PROJECT));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_PACKAGE));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_FILE));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_METHOD));
// Class level
result = result.getChild("LinearSearch");
assertEquals(new HashSet<CoverageMetric>(Arrays.asList(new CoverageMetric[] {CoverageMetric.LINE, CoverageMetric.CONDITIONAL})), result.getChildMetrics(CoverageElement.JAVA_METHOD));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.PROJECT));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_PACKAGE));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_FILE));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_CLASS));
// Method level
result = result.getChild("int find(int,int)");
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.PROJECT));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_PACKAGE));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_FILE));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_CLASS));
assertEquals(Collections.EMPTY_SET, result.getChildMetrics(CoverageElement.JAVA_METHOD));
ctl.verify();
}