}
public void testInheritanceWithKeys() throws Exception
{
// make sure that the InheritanceTest table is empty before the test
Criteria criteria = new Criteria();
criteria.where(
InheritanceTestPeer.INHERITANCE_TEST,
(Object) null,
Criteria.ISNOTNULL);
InheritanceTestPeer.doDelete(criteria);
criteria = new Criteria();
criteria.where(
InheritanceTestPeer.INHERITANCE_TEST,
(Object) null,
Criteria.ISNOTNULL);
assertEquals(0,
new CountHelper().count(criteria));
// create & save test data
InheritanceTest inheritanceTest = new InheritanceTest();
inheritanceTest.setPayload("payload1");
inheritanceTest.save();
InheritanceChildB inheritanceChildB = new InheritanceChildB();
inheritanceChildB.setPayload("payload 2");
inheritanceChildB.save();
InheritanceChildC inheritanceChildC = new InheritanceChildC();
inheritanceChildC.setPayload("payload 3");
inheritanceChildC.save();
InheritanceChildD inheritanceChildD = new InheritanceChildD();
inheritanceChildD.setPayload("payload 4");
inheritanceChildD.save();
// Check that all objects are saved into the InheritanceTest table
criteria = new Criteria();
criteria.where(
InheritanceTestPeer.INHERITANCE_TEST,
null,
Criteria.ISNOTNULL);
assertEquals("InheritanceTestTable should contain 4 rows",
4,
new CountHelper().count(criteria));
criteria = new Criteria();
criteria.addAscendingOrderByColumn(
InheritanceTestPeer.INHERITANCE_TEST);
// Check that the class of the object is retained when loading
List<InheritanceTest> inheritanceObjects
= InheritanceTestPeer.doSelect(criteria);