User: dsundstrom Date: 01/12/10 18:17:57 Added: src/main/org/jboss/test/cmp2/relationship/manyToManyBidirectional A.java ABTest.java ABean.java AHome.java B.java BBean.java BHome.java Log: Initial revision of the CMP 2.0 relation test. These test are based on the EJB 2.0 specification. Revision Changes Path 1.1 jbosstest/src/main/org/jboss/test/cmp2/relationship/manyToManyBidirectional/A.java Index: A.java =================================================================== package org.jboss.test.cmp2.relationship.manyToManyBidirectional; import java.util.Collection; import javax.ejb.EJBLocalObject; public interface A extends EJBLocalObject { public Collection getB(); public void setB(Collection b); } 1.1 jbosstest/src/main/org/jboss/test/cmp2/relationship/manyToManyBidirectional/ABTest.java Index: ABTest.java =================================================================== package org.jboss.test.cmp2.relationship.manyToManyBidirectional; import java.util.Collection; import java.util.Iterator; import javax.naming.InitialContext; import junit.framework.TestCase; import net.sourceforge.junitejb.EJBTestCase; public class ABTest extends EJBTestCase { public ABTest(String name) { super(name); } private AHome getAHome() { try { InitialContext jndiContext = new InitialContext(); return (AHome) jndiContext.lookup("relation/manyToMany/bidirectional/A"); } catch(Exception e) { e.printStackTrace(); fail("Exception in getAHome: " + e.getMessage()); } return null; } private BHome getBHome() { try { InitialContext jndiContext = new InitialContext(); return (BHome) jndiContext.lookup("relation/manyToMany/bidirectional/B"); } catch(Exception e) { e.printStackTrace(); fail("Exception in getBHome: " + e.getMessage()); } return null; } // a1.setB(a3.getB()); public void test_a1SetB_a3GetB() { AHome aHome = getAHome(); BHome bHome = getBHome(); try { // Before change: A a1 = aHome.create(new Integer(1)); A a2 = aHome.create(new Integer(2)); A a3 = aHome.create(new Integer(3)); A a4 = aHome.create(new Integer(4)); A a5 = aHome.create(new Integer(5)); B b1 = bHome.create(new Integer(-1)); B b2 = bHome.create(new Integer(-2)); B b3 = bHome.create(new Integer(-3)); B b4 = bHome.create(new Integer(-4)); B b5 = bHome.create(new Integer(-5)); a1.getB().add(b1); a1.getB().add(b2); a2.getB().add(b1); a2.getB().add(b2); a2.getB().add(b3); a3.getB().add(b2); a3.getB().add(b3); a3.getB().add(b4); a4.getB().add(b3); a4.getB().add(b4); a4.getB().add(b5); a5.getB().add(b4); a5.getB().add(b5); assertTrue(a1.getB().contains(b1)); assertTrue(a1.getB().contains(b2)); assertTrue(a2.getB().contains(b1)); assertTrue(a2.getB().contains(b2)); assertTrue(a2.getB().contains(b3)); assertTrue(a3.getB().contains(b2)); assertTrue(a3.getB().contains(b3)); assertTrue(a3.getB().contains(b4)); assertTrue(a4.getB().contains(b3)); assertTrue(a4.getB().contains(b4)); assertTrue(a4.getB().contains(b5)); assertTrue(a5.getB().contains(b4)); assertTrue(a5.getB().contains(b5)); assertTrue(b1.getA().contains(a1)); assertTrue(b1.getA().contains(a2)); assertTrue(b2.getA().contains(a1)); assertTrue(b2.getA().contains(a2)); assertTrue(b2.getA().contains(a3)); assertTrue(b3.getA().contains(a2)); assertTrue(b3.getA().contains(a3)); assertTrue(b3.getA().contains(a4)); assertTrue(b4.getA().contains(a3)); assertTrue(b4.getA().contains(a4)); assertTrue(b4.getA().contains(a5)); assertTrue(b5.getA().contains(a4)); assertTrue(b5.getA().contains(a5)); // Change: a1.setB(a3.getB()); // Expected result: assertTrue(!a1.getB().contains(b1)); assertTrue(a1.getB().contains(b2)); assertTrue(a1.getB().contains(b3)); assertTrue(a1.getB().contains(b4)); assertTrue(a2.getB().contains(b1)); assertTrue(a2.getB().contains(b2)); assertTrue(a2.getB().contains(b3)); assertTrue(a3.getB().contains(b2)); assertTrue(a3.getB().contains(b3)); assertTrue(a3.getB().contains(b4)); assertTrue(a4.getB().contains(b3)); assertTrue(a4.getB().contains(b4)); assertTrue(a4.getB().contains(b5)); assertTrue(a5.getB().contains(b4)); assertTrue(a5.getB().contains(b5)); assertTrue(!b1.getA().contains(a1)); assertTrue(b1.getA().contains(a2)); assertTrue(b2.getA().contains(a1)); assertTrue(b2.getA().contains(a2)); assertTrue(b2.getA().contains(a3)); assertTrue(b3.getA().contains(a1)); assertTrue(b3.getA().contains(a2)); assertTrue(b3.getA().contains(a3)); assertTrue(b3.getA().contains(a4)); assertTrue(b4.getA().contains(a1)); assertTrue(b4.getA().contains(a3)); assertTrue(b4.getA().contains(a4)); assertTrue(b4.getA().contains(a5)); assertTrue(b5.getA().contains(a4)); assertTrue(b5.getA().contains(a5)); } catch(Exception e) { e.printStackTrace(); fail("Error in test_a1SetB_a3GetB"); } } // a1.getB().add(b3); public void test_a1GetB_addB3() { AHome aHome = getAHome(); BHome bHome = getBHome(); try { // Before change: A a1 = aHome.create(new Integer(1)); A a2 = aHome.create(new Integer(2)); A a3 = aHome.create(new Integer(3)); A a4 = aHome.create(new Integer(4)); A a5 = aHome.create(new Integer(5)); B b1 = bHome.create(new Integer(-1)); B b2 = bHome.create(new Integer(-2)); B b3 = bHome.create(new Integer(-3)); B b4 = bHome.create(new Integer(-4)); B b5 = bHome.create(new Integer(-5)); a1.getB().add(b1); a1.getB().add(b2); a2.getB().add(b1); a2.getB().add(b2); a2.getB().add(b3); a3.getB().add(b2); a3.getB().add(b3); a3.getB().add(b4); a4.getB().add(b3); a4.getB().add(b4); a4.getB().add(b5); a5.getB().add(b4); a5.getB().add(b5); assertTrue(a1.getB().contains(b1)); assertTrue(a1.getB().contains(b2)); assertTrue(a2.getB().contains(b1)); assertTrue(a2.getB().contains(b2)); assertTrue(a2.getB().contains(b3)); assertTrue(a3.getB().contains(b2)); assertTrue(a3.getB().contains(b3)); assertTrue(a3.getB().contains(b4)); assertTrue(a4.getB().contains(b3)); assertTrue(a4.getB().contains(b4)); assertTrue(a4.getB().contains(b5)); assertTrue(a5.getB().contains(b4)); assertTrue(a5.getB().contains(b5)); assertTrue(b1.getA().contains(a1)); assertTrue(b1.getA().contains(a2)); assertTrue(b2.getA().contains(a1)); assertTrue(b2.getA().contains(a2)); assertTrue(b2.getA().contains(a3)); assertTrue(b3.getA().contains(a2)); assertTrue(b3.getA().contains(a3)); assertTrue(b3.getA().contains(a4)); assertTrue(b4.getA().contains(a3)); assertTrue(b4.getA().contains(a4)); assertTrue(b4.getA().contains(a5)); assertTrue(b5.getA().contains(a4)); assertTrue(b5.getA().contains(a5)); // Change: a1.getB().add(b3); // Expected result: assertTrue(a1.getB().contains(b1)); assertTrue(a1.getB().contains(b2)); assertTrue(a1.getB().contains(b3)); assertTrue(a2.getB().contains(b1)); assertTrue(a2.getB().contains(b2)); assertTrue(a2.getB().contains(b3)); assertTrue(a3.getB().contains(b2)); assertTrue(a3.getB().contains(b3)); assertTrue(a3.getB().contains(b4)); assertTrue(a4.getB().contains(b3)); assertTrue(a4.getB().contains(b4)); assertTrue(a4.getB().contains(b5)); assertTrue(a5.getB().contains(b4)); assertTrue(a5.getB().contains(b5)); assertTrue(b1.getA().contains(a1)); assertTrue(b1.getA().contains(a2)); assertTrue(b2.getA().contains(a1)); assertTrue(b2.getA().contains(a2)); assertTrue(b2.getA().contains(a3)); assertTrue(b3.getA().contains(a1)); assertTrue(b3.getA().contains(a2)); assertTrue(b3.getA().contains(a3)); assertTrue(b3.getA().contains(a4)); assertTrue(b4.getA().contains(a3)); assertTrue(b4.getA().contains(a4)); assertTrue(b4.getA().contains(a5)); assertTrue(b5.getA().contains(a4)); assertTrue(b5.getA().contains(a5)); } catch(Exception e) { e.printStackTrace(); fail("Error in test_a1GetB_addB3"); } } // a2.getB().remove(b2); public void test_a2GetB_removeB2() { AHome aHome = getAHome(); BHome bHome = getBHome(); try { // Before change: A a1 = aHome.create(new Integer(1)); A a2 = aHome.create(new Integer(2)); A a3 = aHome.create(new Integer(3)); A a4 = aHome.create(new Integer(4)); A a5 = aHome.create(new Integer(5)); B b1 = bHome.create(new Integer(-1)); B b2 = bHome.create(new Integer(-2)); B b3 = bHome.create(new Integer(-3)); B b4 = bHome.create(new Integer(-4)); B b5 = bHome.create(new Integer(-5)); a1.getB().add(b1); a1.getB().add(b2); a2.getB().add(b1); a2.getB().add(b2); a2.getB().add(b3); a3.getB().add(b2); a3.getB().add(b3); a3.getB().add(b4); a4.getB().add(b3); a4.getB().add(b4); a4.getB().add(b5); a5.getB().add(b4); a5.getB().add(b5); assertTrue(a1.getB().contains(b1)); assertTrue(a1.getB().contains(b2)); assertTrue(a2.getB().contains(b1)); assertTrue(a2.getB().contains(b2)); assertTrue(a2.getB().contains(b3)); assertTrue(a3.getB().contains(b2)); assertTrue(a3.getB().contains(b3)); assertTrue(a3.getB().contains(b4)); assertTrue(a4.getB().contains(b3)); assertTrue(a4.getB().contains(b4)); assertTrue(a4.getB().contains(b5)); assertTrue(a5.getB().contains(b4)); assertTrue(a5.getB().contains(b5)); assertTrue(b1.getA().contains(a1)); assertTrue(b1.getA().contains(a2)); assertTrue(b2.getA().contains(a1)); assertTrue(b2.getA().contains(a2)); assertTrue(b2.getA().contains(a3)); assertTrue(b3.getA().contains(a2)); assertTrue(b3.getA().contains(a3)); assertTrue(b3.getA().contains(a4)); assertTrue(b4.getA().contains(a3)); assertTrue(b4.getA().contains(a4)); assertTrue(b4.getA().contains(a5)); assertTrue(b5.getA().contains(a4)); assertTrue(b5.getA().contains(a5)); // Change: a2.getB().remove(b2); // Expected result: assertTrue(a1.getB().contains(b1)); assertTrue(a1.getB().contains(b2)); assertTrue(a2.getB().contains(b1)); assertTrue(!a2.getB().contains(b2)); assertTrue(a2.getB().contains(b3)); assertTrue(a3.getB().contains(b2)); assertTrue(a3.getB().contains(b3)); assertTrue(a3.getB().contains(b4)); assertTrue(a4.getB().contains(b3)); assertTrue(a4.getB().contains(b4)); assertTrue(a4.getB().contains(b5)); assertTrue(a5.getB().contains(b4)); assertTrue(a5.getB().contains(b5)); assertTrue(b1.getA().contains(a1)); assertTrue(b1.getA().contains(a2)); assertTrue(b2.getA().contains(a1)); assertTrue(!b2.getA().contains(a2)); assertTrue(b2.getA().contains(a3)); assertTrue(b3.getA().contains(a2)); assertTrue(b3.getA().contains(a3)); assertTrue(b3.getA().contains(a4)); assertTrue(b4.getA().contains(a3)); assertTrue(b4.getA().contains(a4)); assertTrue(b4.getA().contains(a5)); assertTrue(b5.getA().contains(a4)); assertTrue(b5.getA().contains(a5)); } catch(Exception e) { e.printStackTrace(); fail("Error in test_a2GetB_removeB2"); } } public void setUpEJB() throws Exception { deleteAllAsAndBs(getAHome(), getBHome()); } public void tearDownEJB() throws Exception { } public void deleteAllAsAndBs(AHome aHome, BHome bHome) throws Exception { // delete all As Iterator currentAs = aHome.findAll().iterator(); while(currentAs.hasNext()) { A a = (A)currentAs.next(); a.remove(); } // delete all Bs Iterator currentBs = bHome.findAll().iterator(); while(currentBs.hasNext()) { B b = (B)currentBs.next(); b.remove(); } } } 1.1 jbosstest/src/main/org/jboss/test/cmp2/relationship/manyToManyBidirectional/ABean.java Index: ABean.java =================================================================== package org.jboss.test.cmp2.relationship.manyToManyBidirectional; import java.util.Collection; import javax.ejb.EntityBean; import javax.ejb.EntityContext; public abstract class ABean implements EntityBean { transient private EntityContext ctx; public Integer ejbCreate(Integer id) { setId(id); return null; } public void ejbPostCreate(Integer id) { } public abstract Integer getId(); public abstract void setId(Integer id); public abstract Collection getB(); public abstract void setB(Collection b); public void setEntityContext(EntityContext ctx) { this.ctx = ctx; } public void unsetEntityContext() { this.ctx = null; } public void ejbActivate() { } public void ejbPassivate() { } public void ejbLoad() { } public void ejbStore() { } public void ejbRemove() { } } 1.1 jbosstest/src/main/org/jboss/test/cmp2/relationship/manyToManyBidirectional/AHome.java Index: AHome.java =================================================================== package org.jboss.test.cmp2.relationship.manyToManyBidirectional; import java.util.Collection; import javax.ejb.CreateException; import javax.ejb.EJBLocalHome; import javax.ejb.FinderException; public interface AHome extends EJBLocalHome { public A create(Integer id) throws CreateException; public A findByPrimaryKey(Integer id) throws FinderException; public Collection findAll() throws FinderException; } 1.1 jbosstest/src/main/org/jboss/test/cmp2/relationship/manyToManyBidirectional/B.java Index: B.java =================================================================== package org.jboss.test.cmp2.relationship.manyToManyBidirectional; import java.util.Collection; import javax.ejb.EJBLocalObject; public interface B extends EJBLocalObject { public Collection getA(); public void setA(Collection a); } 1.1 jbosstest/src/main/org/jboss/test/cmp2/relationship/manyToManyBidirectional/BBean.java Index: BBean.java =================================================================== package org.jboss.test.cmp2.relationship.manyToManyBidirectional; import java.util.Collection; import javax.ejb.EntityBean; import javax.ejb.EntityContext; public abstract class BBean implements EntityBean { transient private EntityContext ctx; public Integer ejbCreate(Integer id) { setId(id); return null; } public void ejbPostCreate(Integer id) { } public abstract Integer getId(); public abstract void setId(Integer id); public abstract Collection getA(); public abstract void setA(Collection a); public void setEntityContext(EntityContext ctx) { this.ctx = ctx; } public void unsetEntityContext() { this.ctx = null; } public void ejbActivate() { } public void ejbPassivate() { } public void ejbLoad() { } public void ejbStore() { } public void ejbRemove() { } } 1.1 jbosstest/src/main/org/jboss/test/cmp2/relationship/manyToManyBidirectional/BHome.java Index: BHome.java =================================================================== package org.jboss.test.cmp2.relationship.manyToManyBidirectional; import java.util.Collection; import javax.ejb.CreateException; import javax.ejb.EJBLocalHome; import javax.ejb.FinderException; public interface BHome extends EJBLocalHome { public B create(Integer id) throws CreateException; public B findByPrimaryKey(Integer id) throws FinderException; public Collection findAll() throws FinderException; }
_______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development