package org.tests.inheritance;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.ebeantest.LoggedSqlCollector;
import org.tests.inherit.ChildA;
import org.tests.inherit.ChildB;
import org.tests.inherit.Parent;
import org.junit.Test;
import io.ebean.BaseTestCase;
public class TestInheritanceRefBean extends BaseTestCase {
@Test
public void test() {
Parent a = new ChildA(42, "Bean A");
Parent b = new ChildB(43, "Bean B");
server().save(a);
server().save(b);
Long idA = a.getId();
Long idB = b.getId();
Parent test;
LoggedSqlCollector.start();
test = server().getReference(ChildA.class, idA);
assertTrue(test instanceof ChildA);
assertEquals(0, LoggedSqlCollector.stop().size());
LoggedSqlCollector.start();
test = server().getReference(Parent.class, idB);
assertTrue(test instanceof ChildB);
assertEquals(1, LoggedSqlCollector.stop().size());
}
}