package hudson.plugins.clover;
import junit.framework.Test;
import junit.framework.TestSuite;
import junit.framework.TestCase;
import hudson.plugins.clover.results.ProjectCoverage;
import hudson.plugins.clover.results.PackageCoverage;
import java.io.File;
/**
* CloverCoverageParser Tester.
*
* @author Stephen Connolly
* @version 1.0
*/
public class CloverCoverageParserTest extends TestCase {
public CloverCoverageParserTest(String name) {
super(name);
}
public void setUp() throws Exception {
super.setUp();
}
public void tearDown() throws Exception {
super.tearDown();
}
public void testFailureMode1() throws Exception {
try {
CloverCoverageParser.parse(null, "");
} catch (NullPointerException e) {
assertTrue("Expected exception thrown", true);
}
}
public void testParse() throws Exception {
ProjectCoverage result = CloverCoverageParser.parse(getClass().getResourceAsStream("clover.xml"));
assertNotNull(result);
assertEquals(ProjectCoverage.class, result.getClass());
assertEquals("Maven Cloverreport", result.getName());
assertEquals(10, result.getMethods());
assertEquals(1, result.getPackageCoverages().size());
PackageCoverage subResult = result.getPackageCoverages().get(0);
assertEquals("hudson.plugins.clover", subResult.getName());
assertEquals(70, subResult.getNcloc());
}
public void testParseMultiPackage() throws Exception {
ProjectCoverage result = CloverCoverageParser.parse(getClass().getResourceAsStream("clover-two-packages.xml"));
result = CloverCoverageParser.trimPaths(result, "C:\\local\\maven\\helpers\\hudson\\clover\\");
assertNotNull(result);
assertEquals(ProjectCoverage.class, result.getClass());
assertEquals("Maven Cloverreport", result.getName());
assertEquals(40, result.getMethods());
assertEquals(2, result.getPackageCoverages().size());
assertEquals(14, result.findClassCoverage("hudson.plugins.clover.results.AbstractCloverMetrics").getCoveredmethods());
}
public static Test suite() {
return new TestSuite(CloverCoverageParserTest.class);
}
}