package org.tests.basic; import io.ebean.BaseTestCase; import io.ebean.Ebean; import org.tests.model.basic.Car; import org.tests.model.basic.Truck; import org.tests.model.basic.Vehicle; import org.junit.Assert; import org.junit.Test; import java.util.List; public class TestInheritRef extends BaseTestCase { @Test public void testAssocOne() { Ebean.beginTransaction(); try { Ebean.createUpdate(Vehicle.class, "delete from vehicle"); Car c = new Car(); c.setLicenseNumber("C6788"); c.setDriver("CarDriver"); Ebean.save(c); Truck t = new Truck(); t.setLicenseNumber("T1098BBX"); t.setCapacity(20D); Ebean.save(t); List<Vehicle> list = Ebean.find(Vehicle.class) .setAutoTune(false) .findList(); Assert.assertTrue(!list.isEmpty()); Truck foundTruck = null; int found = 0; for (Vehicle vehicle : list) { if (vehicle instanceof Truck) { Truck truck = (Truck) vehicle; if ("T1098BBX".equals(truck.getLicenseNumber())) { found++; foundTruck = truck; } } } Assert.assertEquals(1, found); Assert.assertTrue(foundTruck.getCapacity() == 20D); } finally { Ebean.rollbackTransaction(); } } }