package org.eclipse.persistence.testing.tests.jpa21.advanced; import java.util.Arrays; import javax.persistence.EntityManagerFactory; import javax.persistence.metamodel.ManagedType; import org.eclipse.persistence.internal.descriptors.PersistenceEntity; import org.eclipse.persistence.testing.framework.junit.JUnitTestCase; import org.eclipse.persistence.testing.models.jpa21.advanced.Athlete; import org.junit.Assert; import junit.framework.Test; import junit.framework.TestSuite; public class WeaverTestSuite extends JUnitTestCase { public WeaverTestSuite(String name) { super(name); } @Override public String getPersistenceUnitName() { return "pu-with-mappedsuperclass"; } public static Test suite() { TestSuite suite = new TestSuite(); suite.setName("WeaverTestSuite"); suite.addTest(new WeaverTestSuite("testMappedSuperclassWeaving")); return suite; } //bug #466271 - @MappedSuperclass with no implementations should be woven public void testMappedSuperclassWeaving() { EntityManagerFactory emf = getEntityManagerFactory(); ManagedType<Athlete> managedType = emf.getMetamodel().managedType(Athlete.class); Class<Athlete> javaClass = emf.getMetamodel().managedType(Athlete.class).getJavaType(); Assert.assertTrue(Arrays.asList(javaClass.getInterfaces()).contains(PersistenceEntity.class)); } }