package org.hibernate.envers.test.integration.basic; import java.util.Arrays; import javax.persistence.EntityManager; import org.junit.Assert; import org.junit.Test; import org.hibernate.ejb.Ejb3Configuration; import org.hibernate.envers.test.BaseEnversJPAFunctionalTestCase; import org.hibernate.envers.test.Priority; import org.hibernate.mapping.Column; import org.hibernate.mapping.Table; import org.hibernate.testing.TestForIssue; /** * @author Lukasz Antoniak (lukasz dot antoniak at gmail dot com) */ @TestForIssue(jiraKey = "HHH-7003") public class ColumnScalePrecisionTest extends BaseEnversJPAFunctionalTestCase { private Table auditTable = null; private Table originalTable = null; private Long id = null; public void configure(Ejb3Configuration cfg) { cfg.addAnnotatedClass(ScalePrecisionEntity.class); } @Test @Priority(10) public void initData() { EntityManager em = getEntityManager(); // Revision 1 em.getTransaction().begin(); ScalePrecisionEntity entity = new ScalePrecisionEntity(13.0); em.persist(entity); em.getTransaction().commit(); id = entity.getId(); auditTable = getCfg().getClassMapping("org.hibernate.envers.test.integration.basic.ScalePrecisionEntity_AUD").getTable(); originalTable = getCfg().getClassMapping("org.hibernate.envers.test.integration.basic.ScalePrecisionEntity").getTable(); } @Test public void testColumnScalePrecision() { Column testColumn = new Column("wholeNumber"); Column scalePrecisionAuditColumn = auditTable.getColumn(testColumn); Column scalePrecisionColumn = originalTable.getColumn(testColumn); Assert.assertNotNull(scalePrecisionAuditColumn); Assert.assertEquals(scalePrecisionColumn.getPrecision(), scalePrecisionAuditColumn.getPrecision()); Assert.assertEquals(scalePrecisionColumn.getScale(), scalePrecisionAuditColumn.getScale()); } @Test public void testRevisionsCounts() { assert Arrays.asList(1).equals(getAuditReader().getRevisions(ScalePrecisionEntity.class, id)); } @Test public void testHistoryOfScalePrecisionEntity() { ScalePrecisionEntity ver1 = new ScalePrecisionEntity(13.0, id); Assert.assertEquals(ver1, getAuditReader().find(ScalePrecisionEntity.class, id, 1)); } }