[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