View Javadoc
1   package xuml.tools.jaxb.compiler.test;
2   
3   import static org.junit.Assert.assertEquals;
4   
5   import javax.persistence.EntityManager;
6   import javax.persistence.EntityManagerFactory;
7   
8   import org.junit.AfterClass;
9   import org.junit.BeforeClass;
10  import org.junit.Test;
11  
12  import many_to_many_association_two.A;
13  import many_to_many_association_two.B;
14  import many_to_many_association_two.C;
15  import many_to_many_association_two.Context;
16  
17  public class BinaryAssociationManyToManyAssociationClassTwoTest {
18  
19      @BeforeClass
20      public static void setup() {
21          EntityManagerFactory emf = PersistenceHelper.createEmf("many-to-many-association-two");
22          Context.setEntityManagerFactory(emf, 10);
23      }
24  
25      @AfterClass
26      public static void shutdown() {
27          Context.close();
28      }
29  
30      // TODO many more tests can be added here
31  
32      @Test
33      public void testCanCreateManyToMany() {
34  
35          EntityManager em = Context.createEntityManager();
36          em.getTransaction().begin();
37          A a1 = A.create("thing").persist(em);
38          B b1 = B.create("boo").persist(em);
39          B b2 = B.create("boo2").persist(em);
40          C c1 = new C("c1");
41          c1.setDescription("example");
42          c1.setA_R1(a1);
43          c1.setB_R1(b1);
44          a1.getC_R1().add(c1);
45          b1.getC_R1().add(c1);
46  
47          C c2 = new C("c2");
48          c2.setDescription("example2");
49          c2.setA_R1(a1);
50          c2.setB_R1(b2);
51          a1.getC_R1().add(c2);
52          b2.getC_R1().add(c2);
53  
54          c1.persist(em);
55          c2.persist(em);
56          em.getTransaction().commit();
57  
58          em.close();
59  
60          em = Context.createEntityManager();
61          assertEquals(2, a1.load(em).getB_R1().size());
62  
63          em.close();
64      }
65  }