package net.sourceforge.cobertura.bugs;
import groovy.util.Node;
import java.io.File;
import net.sourceforge.cobertura.ant.ReportTask;
import net.sourceforge.cobertura.coveragedata.TestUnitInformationHolder;
import net.sourceforge.cobertura.test.AbstractCoberturaTestCase;
import net.sourceforge.cobertura.test.util.TestUtils;
import org.apache.commons.io.FileUtils;
import org.junit.Test;
public class NewFeatureTwitter extends AbstractCoberturaTestCase {
@Test
public void test() throws Exception {
File firstTest = new File(srcDir, "mypackage/FirstTest.java");
File secondTest = new File(srcDir, "mypackage/SecondTest.java");
File thirdTest = new File(srcDir, "mypackage/ThirdTest.java");
File firstTestClass = new File(srcDir, "mypackage/FirstTest.class");
File secondTestClass = new File(srcDir, "mypackage/SecondTest.class");
File thirdTestClass = new File(srcDir, "mypackage/ThirdTest.class");
FileUtils.write(firstTest, test1);
FileUtils.write(secondTest, test2);
FileUtils.write(thirdTest, test3);
FileUtils.write(new File(srcDir, "mypackage/HelloWorld.java"),
HelloWorld);
TestUtils.compileSource(ant, srcDir);
//instrument all but the test class (in place)
super.instrumentClassIndividualTests(false,
false,
null,
".*Test.*",
new String[] {
firstTestClass.getAbsolutePath(),
secondTestClass.getAbsolutePath(),
thirdTestClass.getAbsolutePath()
});
// super.instrumentClass(false, false, null, ".*Test.*", false);
// run the MyTest
super.executeJunitTest("mypackage.FirstTest");
super.executeJunitTest("mypackage.SecondTest");
super.executeJunitTest("mypackage.ThirdTest");
ReportTask reportTask = new ReportTask();
reportTask.setProject(TestUtils.project);
reportTask.setDataFile(datafile.getAbsolutePath());
reportTask.setFormat("xml");
reportTask.setDestDir(reportDir);
reportTask.setSrcDir(srcDir.getAbsolutePath());
reportTask.execute();
Node dom = TestUtils.getXMLReportDOM(reportDir.getAbsolutePath()
+ "/coverage.xml");
}
String test1 = "\n package mypackage;"
+ "\n "
+ "\n import org.junit.Test;"
+ "\n public class FirstTest {"
+ "\n @Test"
+ "\n public void test1(){"
+ "\n new HelloWorld();"
+ "\n }"
+ "\n }";
String test2 = "\n package mypackage;"
+ "\n "
+ "\n import org.junit.Test;"
+ "\n public class SecondTest {"
+ "\n @Test"
+ "\n public void test1(){"
+ "\n new HelloWorld();"
+ "\n }"
+ "\n }";
String test3 = "\n package mypackage;"
+ "\n "
+ "\n import org.junit.Test;"
+ "\n public class ThirdTest {"
+ "\n @Test"
+ "\n public void test1(){"
+ "\n new HelloWorld();"
+ "\n }"
+ "\n }";
String HelloWorld = "\n package mypackage;"
+ "\n"
+ "\n public class HelloWorld {"
+ "\n public HelloWorld() {"
+ "\n System.out.println(\"Hello world\");"
+ "\n }"
+ "\n }";
}