[hibernate-commits] Hibernate SVN: r17820 - core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emops.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Thu Oct 22 12:45:01 EDT 2009
Author: hardy.ferentschik
Date: 2009-10-22 12:45:01 -0400 (Thu, 22 Oct 2009)
New Revision: 17820
Modified:
core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emops/MergeTest.java
Log:
HHH-4516
Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emops/MergeTest.java
===================================================================
--- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emops/MergeTest.java 2009-10-22 12:04:02 UTC (rev 17819)
+++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emops/MergeTest.java 2009-10-22 16:45:01 UTC (rev 17820)
@@ -1,8 +1,8 @@
//$Id$
package org.hibernate.ejb.test.emops;
+import java.util.ArrayList;
import java.util.List;
-import java.util.ArrayList;
import javax.persistence.EntityManager;
import org.hibernate.ejb.test.TestCase;
@@ -13,7 +13,7 @@
public class MergeTest extends TestCase {
public void testMergeWithIndexColumn() {
Race race = new Race();
- race.competitors.add( new Competitor("Name") );
+ race.competitors.add( new Competitor( "Name" ) );
race.competitors.add( new Competitor() );
race.competitors.add( new Competitor() );
EntityManager em = getOrCreateEntityManager();
@@ -30,14 +30,14 @@
em.clear();
race = em.find( Race.class, race.id );
assertEquals( 2, race.competitors.size() );
- assertEquals( "Name2", race.competitors.get(0).getName() );
+ assertEquals( "Name2", race.competitors.get( 0 ).getName() );
em.getTransaction().rollback();
em.close();
}
public void testMergeManyToMany() {
Competition competition = new Competition();
- competition.getCompetitors().add( new Competitor("Name") );
+ competition.getCompetitors().add( new Competitor( "Name" ) );
competition.getCompetitors().add( new Competitor() );
competition.getCompetitors().add( new Competitor() );
EntityManager em = getOrCreateEntityManager();
@@ -48,20 +48,28 @@
competition.getCompetitors().add( new Competitor() );
competition.getCompetitors().remove( 2 );
competition.getCompetitors().remove( 1 );
- competition.getCompetitors().get(0).setName( "Name2" );
+ competition.getCompetitors().get( 0 ).setName( "Name2" );
competition = em.merge( competition );
em.flush();
em.clear();
competition = em.find( Competition.class, competition.getId() );
assertEquals( 2, competition.getCompetitors().size() );
- assertEquals( "Name2", competition.getCompetitors().get(0).getName() );
+ // we cannot assume that the order in the list is maintained - HHH-4516
+ String changedCompetitorName;
+ if ( competition.getCompetitors().get( 0 ).getName() != null ) {
+ changedCompetitorName = competition.getCompetitors().get( 0 ).getName();
+ }
+ else {
+ changedCompetitorName = competition.getCompetitors().get( 1 ).getName();
+ }
+ assertEquals( "Name2", changedCompetitorName );
em.getTransaction().rollback();
em.close();
}
public void testMergeManyToManyWithDeference() {
Competition competition = new Competition();
- competition.getCompetitors().add( new Competitor("Name") );
+ competition.getCompetitors().add( new Competitor( "Name" ) );
competition.getCompetitors().add( new Competitor() );
competition.getCompetitors().add( new Competitor() );
EntityManager em = getOrCreateEntityManager();
@@ -70,16 +78,24 @@
em.flush();
em.clear();
List<Competitor> newComp = new ArrayList<Competitor>();
- newComp.add( competition.getCompetitors().get(0) );
+ newComp.add( competition.getCompetitors().get( 0 ) );
newComp.add( new Competitor() );
- newComp.get(0).setName( "Name2" );
+ newComp.get( 0 ).setName( "Name2" );
competition.setCompetitors( newComp );
competition = em.merge( competition );
em.flush();
em.clear();
competition = em.find( Competition.class, competition.getId() );
assertEquals( 2, competition.getCompetitors().size() );
- assertEquals( "Name2", competition.getCompetitors().get(0).getName() );
+ // we cannot assume that the order in the list is maintained - HHH-4516
+ String changedCompetitorName;
+ if ( competition.getCompetitors().get( 0 ).getName() != null ) {
+ changedCompetitorName = competition.getCompetitors().get( 0 ).getName();
+ }
+ else {
+ changedCompetitorName = competition.getCompetitors().get( 1 ).getName();
+ }
+ assertEquals( "Name2", changedCompetitorName );
em.getTransaction().rollback();
em.close();
}
@@ -91,18 +107,18 @@
em.persist( race );
em.flush();
em.clear();
- race = em.find(Race.class, race.id );
- em.remove(race);
+ race = em.find( Race.class, race.id );
+ em.remove( race );
try {
race = em.merge( race );
em.flush();
- fail("Should raise an IllegalArgumentException");
+ fail( "Should raise an IllegalArgumentException" );
}
- catch (IllegalArgumentException e) {
+ catch ( IllegalArgumentException e ) {
//all good
}
- catch (Exception e) {
- fail("Should raise an IllegalArgumentException");
+ catch ( Exception e ) {
+ fail( "Should raise an IllegalArgumentException" );
}
em.getTransaction().rollback();
em.close();
@@ -122,7 +138,7 @@
em = getOrCreateEntityManager();
em.getTransaction().begin();
- Race race2 = em.find(Race.class, race.id );
+ Race race2 = em.find( Race.class, race.id );
race2.name = "Mans";
race = em.merge( race );
@@ -132,7 +148,7 @@
em = getOrCreateEntityManager();
em.getTransaction().begin();
- race2 = em.find(Race.class, race.id );
+ race2 = em.find( Race.class, race.id );
assertEquals( "Last commit win in merge", "Magnicourt", race2.name );
em.remove( race2 );
@@ -149,11 +165,11 @@
em.clear();
roman = em.find( Empire.class, roman.getId() );
Colony gaule = new Colony();
- roman.getColonies().add(gaule);
+ roman.getColonies().add( gaule );
em.merge( roman );
em.flush();
em.clear();
- roman = em.find(Empire.class, roman.getId() );
+ roman = em.find( Empire.class, roman.getId() );
assertEquals( 1, roman.getColonies().size() );
em.getTransaction().rollback();
em.close();
More information about the hibernate-commits
mailing list