public void testWriteHeader() throws Exception { final Subclasser sub = new Subclasser(); // Protectable is JUnit class Protectable p = new Protectable() { public void protect() throws Exception { sub.writeHeader(); } }; chkException(p, null); sub.setParentClass(com.p6spy.engine.spy.P6DataSource.class); String actual = sub.writeHeader(); // com.p6spy.engine.spy is imported twice since // we're sublcassing the p6spy datasource. String expected = "" + "// this class generated by class com.p6spy.engine.common.Subclasser" + sub.NEWLINE + sub.NEWLINE + "package " + sub.DEFAULT_PACKAGE + ";" + sub.NEWLINE + sub.NEWLINE + "import com.p6spy.engine.spy.*;" + sub.NEWLINE + "import java.sql.*;" + sub.NEWLINE + "import javax.sql.*;" + sub.NEWLINE + "import com.p6spy.engine.spy.*;" + sub.NEWLINE + sub.NEWLINE + sub.NEWLINE + "public class P6P6DataSource extends com.p6spy.engine.spy.P6DataSource {" + sub.NEWLINE + ""; assertEquals(sub.NEWLINE + expected, sub.NEWLINE + actual); }