r2481 - in trunk/topia-persistence-tck/src/main: java/org/nuiton/topia/tck/mapping/test4 java/org/nuiton/topia/tck/mapping/test6 xmi
Author: tchemit Date: 2012-05-14 14:30:15 +0200 (Mon, 14 May 2012) New Revision: 2481 Url: http://nuiton.org/repositories/revision/topia/2481 Log: refs #2089: Use JPA (orm) mappings (tests) Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/E4.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test6/SimpleOneToManyIndexedTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test6/SimpleOneToManyWithRoleNamedIndexedTest.java Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/ElementCollectionTest.java trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.zargo Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/E4.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/E4.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/E4.java 2012-05-14 12:30:15 UTC (rev 2481) @@ -0,0 +1,12 @@ +package org.nuiton.topia.tck.mapping.test4; + +/** + * TODO + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public enum E4 { + LITERAL1, + LITERAL2, +} Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/ElementCollectionTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/ElementCollectionTest.java 2012-05-14 12:29:31 UTC (rev 2480) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/ElementCollectionTest.java 2012-05-14 12:30:15 UTC (rev 2481) @@ -35,7 +35,8 @@ public void create() throws TopiaException { A4 a = aDAO.create(); - a.setStringArray(Arrays.asList("a", "b", "c")); + a.setStrings(Arrays.asList("a", "b", "c")); + a.setEnumerations(Arrays.asList(E4.LITERAL1, E4.LITERAL2)); tx.commitTransaction(); @@ -43,9 +44,13 @@ Assert.assertNotNull(aBis); Assert.assertEquals(a, aBis); - Assert.assertNotNull(aBis.getStringArray()); - Assert.assertEquals(3, aBis.sizeStringArray()); - Assert.assertEquals(a.getStringArray(), aBis.getStringArray()); + Assert.assertNotNull(aBis.getStrings()); + Assert.assertEquals(3, aBis.sizeStrings()); + Assert.assertEquals(a.getStrings(), aBis.getStrings()); + + Assert.assertNotNull(aBis.getEnumerations()); + Assert.assertEquals(2, aBis.sizeEnumerations()); + Assert.assertEquals(a.getEnumerations(), aBis.getEnumerations()); } @Test Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test6/SimpleOneToManyIndexedTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test6/SimpleOneToManyIndexedTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test6/SimpleOneToManyIndexedTest.java 2012-05-14 12:30:15 UTC (rev 2481) @@ -0,0 +1,99 @@ +package org.nuiton.topia.tck.mapping.test6; + +import com.google.common.collect.Lists; +import junit.framework.Assert; +import org.junit.Before; +import org.junit.Test; +import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.tck.mapping.AbstractMappingTest; + +import java.util.List; + +/** + * To test a simple OneToMany indexed relation (usage of JPA order-colum) + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class SimpleOneToManyIndexedTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A6DAO aDAO; + + protected B6DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A6.class); + bDAO = getDAO(tx, B6.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A6 a = aDAO.create(); + B6 b = bDAO.create(); + B6 b2 = bDAO.create(); + B6 b3 = bDAO.create(); + + a.addB6(b); + a.addB6(b2); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(3, nbB); + + A6 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(2, aBis.sizeB6()); + List<B6> bs = aBis.getB6(); + Assert.assertEquals(b, bs.get(0)); + Assert.assertEquals(b2, bs.get(1)); + + // change order + List<B6> bsBis; + + bsBis = Lists.newArrayList(); + bsBis.add(b2); + bsBis.add(b); + a.setB6(bsBis); + tx.commitTransaction(); + + aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(2, aBis.sizeB6()); + bs = aBis.getB6(); + Assert.assertEquals(b2, bs.get(0)); + Assert.assertEquals(b, bs.get(1)); + + // rechange order + + bsBis = Lists.newArrayList(); + bsBis.add(b3); + bsBis.add(b2); + bsBis.add(b); + a.setB6(bsBis); + tx.commitTransaction(); + + aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(3, aBis.sizeB6()); + bs = aBis.getB6(); + Assert.assertEquals(b3, bs.get(0)); + Assert.assertEquals(b2, bs.get(1)); + Assert.assertEquals(b, bs.get(2)); + } +} \ No newline at end of file Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test6/SimpleOneToManyWithRoleNamedIndexedTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test6/SimpleOneToManyWithRoleNamedIndexedTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test6/SimpleOneToManyWithRoleNamedIndexedTest.java 2012-05-14 12:30:15 UTC (rev 2481) @@ -0,0 +1,100 @@ +package org.nuiton.topia.tck.mapping.test6; + +import com.google.common.collect.Lists; +import junit.framework.Assert; +import org.junit.Before; +import org.junit.Test; +import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.tck.mapping.AbstractMappingTest; + +import java.util.List; + +/** + * To test a simple OneToMany indexed relation (usage of JPA order-colum) + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class SimpleOneToManyWithRoleNamedIndexedTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A61DAO aDAO; + + protected B61DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A61.class); + bDAO = getDAO(tx, B61.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A61 a = aDAO.create(); + B61 b = bDAO.create(); + B61 b2 = bDAO.create(); + B61 b3 = bDAO.create(); + + a.addRoleB(b); + a.addRoleB(b2); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(3, nbB); + + A61 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(2, aBis.sizeRoleB()); + List<B61> bs = aBis.getRoleB(); + Assert.assertEquals(b, bs.get(0)); + Assert.assertEquals(b2, bs.get(1)); + + // change order + List<B61> bsBis; + + bsBis = Lists.newArrayList(); + bsBis.add(b2); + bsBis.add(b); + a.setRoleB(bsBis); + tx.commitTransaction(); + + aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(2, aBis.sizeRoleB()); + bs = aBis.getRoleB(); + Assert.assertEquals(b2, bs.get(0)); + Assert.assertEquals(b, bs.get(1)); + + // rechange order + + bsBis = Lists.newArrayList(); + bsBis.add(b3); + bsBis.add(b2); + bsBis.add(b); + a.setRoleB(bsBis); + tx.commitTransaction(); + + aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(3, aBis.sizeRoleB()); + bs = aBis.getRoleB(); + Assert.assertEquals(b3, bs.get(0)); + Assert.assertEquals(b2, bs.get(1)); + Assert.assertEquals(b, bs.get(2)); + } + +} \ No newline at end of file Modified: trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.zargo =================================================================== (Binary files differ)
participants (1)
-
tchemit@users.nuiton.org