r2465 - in trunk: topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck topia-persistence-tck/src/main/java/org/nuiton/topia/tck topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882 topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991 topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1 topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2 topia-p
Author: tchemit Date: 2012-05-10 01:39:40 +0200 (Thu, 10 May 2012) New Revision: 2465 Url: http://nuiton.org/repositories/revision/topia/2465 Log: - uniformize tests in tck - add mapping first tests Added: trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckItHibernateTest.java trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckLegacyHibernateTest.java trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckMappingHibernateTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckItTestSuite.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckLegacyTestSuite.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckMappingTestSuite.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/AbstractMappingTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationWithRoleNamedTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationWithRoleNamedTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationWithRoleNamedTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationWithRoleNamedTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationWithRoleNamedTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationWithRoleNamedTest.java 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/test5/BiDirectionalOneToManyCompositionTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/OneToManyCompositionTest.java Removed: trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckHibernateTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckTestSuite.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.properties trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.zargo Deleted: trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckHibernateTest.java =================================================================== --- trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckHibernateTest.java 2012-05-09 23:27:55 UTC (rev 2464) +++ trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckHibernateTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -1,10 +0,0 @@ -package org.nuiton.topia.tck; - -/** - * Do not remove event if empty : this class represents the TCK IT tests - * for topia-persistence-hibernate module - * - * @author Arnaud Thimel <thimel@codelutin.com> - */ -public class TopiaTckHibernateTest extends TopiaTckTestSuite { -} Copied: trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckItHibernateTest.java (from rev 2462, trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckHibernateTest.java) =================================================================== --- trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckItHibernateTest.java (rev 0) +++ trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckItHibernateTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,12 @@ +package org.nuiton.topia.tck; + +import org.junit.Ignore; + +/** + * Do not remove event if empty : this class represents the TCK IT tests + * for topia-persistence-hibernate module + * + * @author Arnaud Thimel <thimel@codelutin.com> + */ +public class TopiaTckItHibernateTest extends TopiaTckItTestSuite { +} Added: trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckLegacyHibernateTest.java =================================================================== --- trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckLegacyHibernateTest.java (rev 0) +++ trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckLegacyHibernateTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,12 @@ +package org.nuiton.topia.tck; + +import org.junit.Ignore; + +/** + * Launch {@link TopiaTckLegacyTestSuite}. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class TopiaTckLegacyHibernateTest extends TopiaTckLegacyTestSuite { +} Added: trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckMappingHibernateTest.java =================================================================== --- trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckMappingHibernateTest.java (rev 0) +++ trunk/topia-persistence-hibernate/src/test/java/org/nuiton/topia/tck/TopiaTckMappingHibernateTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,12 @@ +package org.nuiton.topia.tck; + +import org.junit.Ignore; + +/** + * Launch {@link TopiaTckMappingTestSuite}. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class TopiaTckMappingHibernateTest extends TopiaTckMappingTestSuite { +} Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java 2012-05-09 23:27:55 UTC (rev 2464) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaDatabase.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -78,9 +78,9 @@ private final String configurationPath; - public TopiaDatabase() { - this(TestHelper.DEFAULT_CONFIGURATION_LOCATION); - } +// public TopiaDatabase() { +// this(TestHelper.DEFAULT_CONFIGURATION_LOCATION); +// } public TopiaDatabase(String configurationPath) { this.configurationPath = configurationPath; @@ -126,11 +126,14 @@ String dbPath = new File(testBasedir, "db").getAbsolutePath(); - if (log.isDebugEnabled()) { - log.debug("dbPath = " + dbPath); + String jdbcUrl = "jdbc:h2:file:" + dbPath; + + if (log.isInfoEnabled()) { + log.info("Use " + jdbcUrl); } + dbConfiguration.setProperty( - TopiaContextFactory.CONFIG_URL, "jdbc:h2:file:" + dbPath); + TopiaContextFactory.CONFIG_URL, jdbcUrl); onDbConfigurationCreate(dbConfiguration, testBasedir, dbPath); Copied: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckItTestSuite.java (from rev 2462, trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckTestSuite.java) =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckItTestSuite.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckItTestSuite.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,35 @@ +package org.nuiton.topia.tck; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.nuiton.topia.TopiaContextFactoryTest; +import org.nuiton.topia.tck.legacy.ano1882.DAOAbstractTransformerTest; +import org.nuiton.topia.tck.legacy.ano1991.TopiaQueryTest; +import org.nuiton.topia.tck.legacy.evo1912.EntityDTOTransformerTest; +import org.nuiton.topia.tck.legacy.framework.TopiaContextReplicateTest; +import org.nuiton.topia.tck.legacy.framework.TopiaUtilTest; +import org.nuiton.topia.tck.legacy.generator.TopiaTestCase; +import org.nuiton.topia.tck.it.EnumTest; +import org.nuiton.topia.tck.it.deletetest.DeleteEntityTest; +import org.nuiton.topia.tck.legacy.persistence.EntityVisitorExportXmlTest; +import org.nuiton.topia.tck.legacy.persistence.NaturalIdTest; + +/** + * @author Arnaud Thimel <thimel@codelutin.com> + */ +@RunWith(Suite.class) +@Suite.SuiteClasses({ + DAOAbstractTransformerTest.class, + TopiaQueryTest.class, + EntityDTOTransformerTest.class, + TopiaContextReplicateTest.class, + TopiaUtilTest.class, + TopiaTestCase.class, + DeleteEntityTest.class, + EntityVisitorExportXmlTest.class, + NaturalIdTest.class, + TopiaContextFactoryTest.class, + EnumTest.class}) // TODO AThimel 09/05/2012 Add all TCK IT tests +public abstract class TopiaTckItTestSuite { + +} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckLegacyTestSuite.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckLegacyTestSuite.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckLegacyTestSuite.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,35 @@ +package org.nuiton.topia.tck; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.nuiton.topia.tck.legacy.ano1882.DAOAbstractTransformerTest; +import org.nuiton.topia.tck.legacy.ano1991.TopiaQueryTest; +import org.nuiton.topia.tck.legacy.evo1912.EntityDTOTransformerTest; +import org.nuiton.topia.tck.legacy.framework.TopiaContextReplicateTest; +import org.nuiton.topia.tck.legacy.framework.TopiaUtilTest; +import org.nuiton.topia.tck.legacy.generator.TopiaTestCase; +import org.nuiton.topia.tck.legacy.persistence.EntityVisitorExportXmlTest; +import org.nuiton.topia.tck.legacy.persistence.NaturalIdTest; + +/** + * Test suite for {@code mapping} model. + * <p/> + * Just implements this in dedicated module to have all this tests runned. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +@RunWith(Suite.class) +@Suite.SuiteClasses( + {DAOAbstractTransformerTest.class, + TopiaQueryTest.class, + EntityDTOTransformerTest.class, + TopiaContextReplicateTest.class, + TopiaUtilTest.class, + TopiaTestCase.class, + EntityVisitorExportXmlTest.class, + NaturalIdTest.class + } +) +public abstract class TopiaTckLegacyTestSuite { +} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckMappingTestSuite.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckMappingTestSuite.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckMappingTestSuite.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,54 @@ +package org.nuiton.topia.tck; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.nuiton.topia.tck.mapping.test1.BiDirectionalOneToManyRelationTest; +import org.nuiton.topia.tck.mapping.test1.BiDirectionalOneToManyRelationWithRoleNamedTest; +import org.nuiton.topia.tck.mapping.test1.SimpleOneToManyRelationTest; +import org.nuiton.topia.tck.mapping.test1.SimpleOneToManyRelationWithRoleNamedTest; +import org.nuiton.topia.tck.mapping.test2.BiDirectionalManyToOneRelationTest; +import org.nuiton.topia.tck.mapping.test2.BiDirectionalManyToOneRelationWithRoleNamedTest; +import org.nuiton.topia.tck.mapping.test2.SimpleManyToOneRelationTest; +import org.nuiton.topia.tck.mapping.test2.SimpleManyToOneRelationWithRoleNamedTest; +import org.nuiton.topia.tck.mapping.test3.BiDirectionalManyToManyRelationTest; +import org.nuiton.topia.tck.mapping.test3.BiDirectionalManyToManyRelationWithRoleNamedTest; +import org.nuiton.topia.tck.mapping.test3.SimpleManyToManyRelationTest; +import org.nuiton.topia.tck.mapping.test3.SimpleManyToManyRelationWithRoleNamedTest; +import org.nuiton.topia.tck.mapping.test4.ElementCollectionTest; +import org.nuiton.topia.tck.mapping.test5.BiDirectionalOneToManyCompositionTest; +import org.nuiton.topia.tck.mapping.test5.OneToManyCompositionTest; + +/** + * Test suite for {@code mapping} model. + * <p/> + * Just implements this in dedicated module to have all this tests runned. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +@RunWith(Suite.class) +@Suite.SuiteClasses( + // test1 + {SimpleOneToManyRelationTest.class, + SimpleOneToManyRelationWithRoleNamedTest.class, + BiDirectionalOneToManyRelationTest.class, + BiDirectionalOneToManyRelationWithRoleNamedTest.class, + // test2 + SimpleManyToOneRelationTest.class, + SimpleManyToOneRelationWithRoleNamedTest.class, + BiDirectionalManyToOneRelationTest.class, + BiDirectionalManyToOneRelationWithRoleNamedTest.class, + // test3 + SimpleManyToManyRelationTest.class, + SimpleManyToManyRelationWithRoleNamedTest.class, + BiDirectionalManyToManyRelationTest.class, + BiDirectionalManyToManyRelationWithRoleNamedTest.class, + //test 4 + ElementCollectionTest.class, + // test 5 + OneToManyCompositionTest.class, + BiDirectionalOneToManyCompositionTest.class + } +) +public abstract class TopiaTckMappingTestSuite { +} Deleted: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckTestSuite.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckTestSuite.java 2012-05-09 23:27:55 UTC (rev 2464) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/TopiaTckTestSuite.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -1,35 +0,0 @@ -package org.nuiton.topia.tck; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; -import org.nuiton.topia.TopiaContextFactoryTest; -import org.nuiton.topia.tck.legacy.ano1882.DAOAbstractTransformerTest; -import org.nuiton.topia.tck.legacy.ano1991.TopiaQueryTest; -import org.nuiton.topia.tck.legacy.evo1912.EntityDTOTransformerTest; -import org.nuiton.topia.tck.legacy.framework.TopiaContextReplicateTest; -import org.nuiton.topia.tck.legacy.framework.TopiaUtilTest; -import org.nuiton.topia.tck.legacy.generator.TopiaTestCase; -import org.nuiton.topia.tck.it.EnumTest; -import org.nuiton.topia.tck.it.deletetest.DeleteEntityTest; -import org.nuiton.topia.tck.legacy.persistence.EntityVisitorExportXmlTest; -import org.nuiton.topia.tck.legacy.persistence.NaturalIdTest; - -/** - * @author Arnaud Thimel <thimel@codelutin.com> - */ -@RunWith(Suite.class) -@Suite.SuiteClasses({ - DAOAbstractTransformerTest.class, - TopiaQueryTest.class, - EntityDTOTransformerTest.class, - TopiaContextReplicateTest.class, - TopiaUtilTest.class, - TopiaTestCase.class, - DeleteEntityTest.class, - EntityVisitorExportXmlTest.class, - NaturalIdTest.class, - TopiaContextFactoryTest.class, - EnumTest.class}) // TODO AThimel 09/05/2012 Add all TCK IT tests -public abstract class TopiaTckTestSuite { - -} Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java 2012-05-09 23:27:55 UTC (rev 2464) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1882/DAOAbstractTransformerTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -28,7 +28,6 @@ import org.junit.Test; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.tck.TopiaDatabase; -import org.nuiton.topia.tck.it.TopiaTckItDAOHelper; import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy; import org.nuiton.topia.tck.legacy.TopiaTckLegacyDAOHelper; Modified: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java 2012-05-09 23:27:55 UTC (rev 2464) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/legacy/ano1991/TopiaQueryTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -30,7 +30,6 @@ import org.nuiton.topia.TopiaContext; import org.nuiton.topia.tck.TopiaDatabase; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.tck.it.TopiaTckItDAOHelper; import org.nuiton.topia.framework.TopiaQuery; import org.nuiton.topia.tck.legacy.TopiaDatabaseLegacy; import org.nuiton.topia.tck.legacy.TopiaTckLegacyDAOHelper; Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/AbstractMappingTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/AbstractMappingTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/AbstractMappingTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,26 @@ +package org.nuiton.topia.tck.mapping; + +import org.junit.Rule; +import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.persistence.TopiaDAO; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.topia.tck.TopiaDatabase; + +/** + * Base test for all tests using the {@code mapping} model. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public abstract class AbstractMappingTest { + + @Rule + public final TopiaDatabase db = new TopiaDatabaseMapping(); + + protected <E extends TopiaEntity, D extends TopiaDAO<E>> D getDAO( + TopiaContext tx, Class<E> entityType) throws TopiaException { + D dao = TopiaTckMappingDAOHelper.<E, D>getDAO(tx, entityType); + return dao; + } +} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,98 @@ +package org.nuiton.topia.tck.mapping.test1; + +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; + +/** + * Tests a bi-directional OnetoMany relation. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class BiDirectionalOneToManyRelationTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A12DAO aDAO; + + protected B12DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A12.class); + bDAO = getDAO(tx, B12.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A12 a = aDAO.create(); + B12 b = bDAO.create(); + + a.addB12(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A12 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(1, aBis.sizeB12()); + Assert.assertEquals(a.getB12().iterator().next(), + aBis.getB12().iterator().next()); + Assert.assertEquals(b, aBis.getB12().iterator().next()); + + B12 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(aBis.getB12().iterator().next(), bBis); + Assert.assertEquals(aBis, bBis.getA12()); + } + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A12 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); + + B12 b = bDAO.findAll().get(0); + bDAO.delete(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationWithRoleNamedTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationWithRoleNamedTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/BiDirectionalOneToManyRelationWithRoleNamedTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,101 @@ +package org.nuiton.topia.tck.mapping.test1; + +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; + +/** + * Tests a bi-directional OnetoMany relation with role renamed into + * {@code roleA} and {@code roleB}. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class BiDirectionalOneToManyRelationWithRoleNamedTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A13DAO aDAO; + + protected B13DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A13.class); + bDAO = getDAO(tx, B13.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A13 a = aDAO.create(); + B13 b = bDAO.create(); + + a.addRoleB(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A13 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(1, aBis.sizeRoleB()); + Assert.assertEquals(a.getRoleB().iterator().next(), + aBis.getRoleB().iterator().next()); + + Assert.assertEquals(b, aBis.getRoleB().iterator().next()); + + B13 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(aBis.getRoleB().iterator().next(), bBis); + Assert.assertEquals(a, bBis.getRoleA()); + } + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A13 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); + + B13 b = bDAO.findAll().get(0); + Assert.assertNull(b.getRoleA()); + bDAO.delete(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} Copied: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationTest.java (from rev 2463, trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java) =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,97 @@ +package org.nuiton.topia.tck.mapping.test1; + +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; + +/** + * To test a simple OnetoMany relation betewwen two classes A1 and B1. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class SimpleOneToManyRelationTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A1DAO aDAO; + + protected B1DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A1.class); + bDAO = getDAO(tx, B1.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A1 a = aDAO.create(); + B1 b = bDAO.create(); + + a.addB1(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A1 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(1, aBis.sizeB1()); + Assert.assertEquals(a.getB1().iterator().next(), + aBis.getB1().iterator().next()); + + B1 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(aBis.getB1().iterator().next(), bBis); + } + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A1 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); + + B1 b = bDAO.findAll().get(0); + bDAO.delete(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } + +} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationWithRoleNamedTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationWithRoleNamedTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/SimpleOneToManyRelationWithRoleNamedTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,97 @@ +package org.nuiton.topia.tck.mapping.test1; + +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; + +/** + * Tests a simple OnetoMany relation with role renamed into {@code roleB}. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class SimpleOneToManyRelationWithRoleNamedTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A11DAO aDAO; + + protected B11DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A11.class); + bDAO = getDAO(tx, B11.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A11 a = aDAO.create(); + B11 b = bDAO.create(); + + a.addRoleB(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A11 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(1, aBis.sizeRoleB()); + Assert.assertEquals(a.getRoleB().iterator().next(), + aBis.getRoleB().iterator().next()); + + B11 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(aBis.getRoleB().iterator().next(), bBis); + } + + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A11 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); + + B11 b = bDAO.findAll().get(0); + bDAO.delete(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} Deleted: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java 2012-05-09 23:27:55 UTC (rev 2464) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test1/Test1.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -1,29 +0,0 @@ -package org.nuiton.topia.tck.mapping.test1; - -import org.junit.Rule; -import org.junit.Test; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; -import org.nuiton.topia.tck.TopiaDatabase; -import org.nuiton.topia.tck.mapping.TopiaDatabaseMapping; - -/** - * TODO - * - * @author tchemit <chemit@codelutin.com> - * @since TODO - */ -public class Test1 { - - @Rule - public final TopiaDatabase db = new TopiaDatabaseMapping(); - - /** Case 1 : simple OneToMany relation using class A1 -> B1. */ - @Test - public void testCase1Create() throws TopiaException { - - TopiaContext tx = db.beginTransaction(); - - - } -} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,97 @@ +package org.nuiton.topia.tck.mapping.test2; + +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; + +/** + * Tests a bi-directional ManyToOne relation. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class BiDirectionalManyToOneRelationTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A22DAO aDAO; + + protected B22DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A22.class); + bDAO = getDAO(tx, B22.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A22 a = aDAO.create(); + B22 b = bDAO.create(); + + b.addA22(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A22 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(b, aBis.getB22()); + Assert.assertEquals(a.getB22(), aBis.getB22()); + + B22 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(1, bBis.sizeA22()); + Assert.assertEquals(a, bBis.getA22().iterator().next()); + } + + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A22 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); + + B22 b = bDAO.findAll().get(0); + bDAO.delete(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationWithRoleNamedTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationWithRoleNamedTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/BiDirectionalManyToOneRelationWithRoleNamedTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,96 @@ +package org.nuiton.topia.tck.mapping.test2; + +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; + +/** + * Tests a bi-directional ManyToOne relation with role renamed into + * {@code roleA} and {@code roleB}. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class BiDirectionalManyToOneRelationWithRoleNamedTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A23DAO aDAO; + + protected B23DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A23.class); + bDAO = getDAO(tx, B23.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A23 a = aDAO.create(); + B23 b = bDAO.create(); + + b.addRoleA(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A23 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(b, aBis.getRoleB()); + + B23 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(1, bBis.sizeRoleA()); + Assert.assertEquals(a, bBis.getRoleA().iterator().next()); + } + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A23 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); + + B23 b = bDAO.findAll().get(0); + bDAO.delete(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,94 @@ +package org.nuiton.topia.tck.mapping.test2; + +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; + +/** + * Tests a simple ManyToOne relation. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class SimpleManyToOneRelationTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A2DAO aDAO; + + protected B2DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A2.class); + bDAO = getDAO(tx, B2.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A2 a = aDAO.create(); + B2 b = bDAO.create(); + + a.setB2(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A2 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(b, aBis.getB2()); + + B2 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(aBis.getB2(), bBis); + } + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A2 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); + + B2 b = bDAO.findAll().get(0); + bDAO.delete(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationWithRoleNamedTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationWithRoleNamedTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test2/SimpleManyToOneRelationWithRoleNamedTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,94 @@ +package org.nuiton.topia.tck.mapping.test2; + +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; + +/** + * Tests a simple ManyToOne relation with role renamed into {@code roleB}. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class SimpleManyToOneRelationWithRoleNamedTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A21DAO aDAO; + + protected B21DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A21.class); + bDAO = getDAO(tx, B21.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A21 a = aDAO.create(); + B21 b = bDAO.create(); + + a.setRoleB(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A21 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(b, aBis.getRoleB()); + + B21 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(aBis.getRoleB(), bBis); + } + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A21 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); + + B21 b = bDAO.findAll().get(0); + bDAO.delete(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,98 @@ +package org.nuiton.topia.tck.mapping.test3; + +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; + +/** + * Tests a bi-directional ManyToMany relation. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class BiDirectionalManyToManyRelationTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A32DAO aDAO; + + protected B32DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A32.class); + bDAO = getDAO(tx, B32.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A32 a = aDAO.create(); + B32 b = bDAO.create(); + + b.addA32(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A32 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(1, aBis.sizeB32()); + Assert.assertEquals(b, aBis.getB32().iterator().next()); + Assert.assertEquals(a.getB32(), aBis.getB32()); + + B32 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(1, bBis.sizeA32()); + Assert.assertEquals(a, bBis.getA32().iterator().next()); + } + + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A32 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); + + B32 b = bDAO.findAll().get(0); + bDAO.delete(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationWithRoleNamedTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationWithRoleNamedTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/BiDirectionalManyToManyRelationWithRoleNamedTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,98 @@ +package org.nuiton.topia.tck.mapping.test3; + +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; + +/** + * Tests a bi-directional ManyToMany relation. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class BiDirectionalManyToManyRelationWithRoleNamedTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A33DAO aDAO; + + protected B33DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A33.class); + bDAO = getDAO(tx, B33.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A33 a = aDAO.create(); + B33 b = bDAO.create(); + + b.addRoleA(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A33 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(1, aBis.sizeRoleB()); + Assert.assertEquals(b, aBis.getRoleB().iterator().next()); + Assert.assertEquals(a.getRoleB(), aBis.getRoleB()); + + B33 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(1, bBis.sizeRoleA()); + Assert.assertEquals(a, bBis.getRoleA().iterator().next()); + } + + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A33 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); + + B33 b = bDAO.findAll().get(0); + bDAO.delete(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,96 @@ +package org.nuiton.topia.tck.mapping.test3; + +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; + +/** + * Tests a simple ManyToMany relation. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class SimpleManyToManyRelationTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A3DAO aDAO; + + protected B3DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A3.class); + bDAO = getDAO(tx, B3.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A3 a = aDAO.create(); + B3 b = bDAO.create(); + + a.addB3(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A3 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(1, aBis.sizeB3()); + Assert.assertEquals(b, aBis.getB3().iterator().next()); + + B3 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(aBis.getB3().iterator().next(), bBis); + } + + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A3 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); + + B3 b = bDAO.findAll().get(0); + bDAO.delete(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationWithRoleNamedTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationWithRoleNamedTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test3/SimpleManyToManyRelationWithRoleNamedTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,96 @@ +package org.nuiton.topia.tck.mapping.test3; + +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; + +/** + * Tests a simple ManyToMany relation. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class SimpleManyToManyRelationWithRoleNamedTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A31DAO aDAO; + + protected B31DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A31.class); + bDAO = getDAO(tx, B31.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A31 a = aDAO.create(); + B31 b = bDAO.create(); + + a.addRoleB(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A31 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(1, aBis.sizeRoleB()); + Assert.assertEquals(b, aBis.getRoleB().iterator().next()); + + B31 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(aBis.getRoleB().iterator().next(), bBis); + } + + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A31 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(1, nbB); + + B31 b = bDAO.findAll().get(0); + bDAO.delete(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} Added: 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 (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test4/ElementCollectionTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,69 @@ +package org.nuiton.topia.tck.mapping.test4; + +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 org.nuiton.topia.tck.mapping.test3.B3DAO; + +import java.util.Arrays; + +/** + * Tests that everything is ok with fields with multiplicity > 1 on primitive + * data. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class ElementCollectionTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A4DAO aDAO; + + protected B3DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A4.class); + } + + @Test + public void create() throws TopiaException { + + A4 a = aDAO.create(); + a.setStringArray(Arrays.asList("a", "b", "c")); + + tx.commitTransaction(); + + A4 aBis = aDAO.findByTopiaId(a.getTopiaId()); + + Assert.assertNotNull(aBis); + Assert.assertEquals(a, aBis); + Assert.assertNotNull(aBis.getStringArray()); + Assert.assertEquals(3, aBis.sizeStringArray()); + Assert.assertEquals(a.getStringArray(), aBis.getStringArray()); + } + + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + + Assert.assertEquals(1, nbA); + + A4 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + + Assert.assertEquals(0, nbA); + } +} \ No newline at end of file Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/BiDirectionalOneToManyCompositionTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/BiDirectionalOneToManyCompositionTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/BiDirectionalOneToManyCompositionTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,85 @@ +package org.nuiton.topia.tck.mapping.test5; + +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; + +/** + * Test behaviour of a bi-directional OnetoMany (composition) relation. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class BiDirectionalOneToManyCompositionTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A51DAO aDAO; + + protected B51DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A51.class); + bDAO = getDAO(tx, B51.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A51 a = aDAO.create(); + B51 b = bDAO.create(); + + a.addB51(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A51 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(1, aBis.sizeB51()); + Assert.assertEquals(b, aBis.getB51().iterator().next()); + + B51 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(aBis.getB51().iterator().next(), bBis); + } + + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A51 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} \ No newline at end of file Added: trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/OneToManyCompositionTest.java =================================================================== --- trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/OneToManyCompositionTest.java (rev 0) +++ trunk/topia-persistence-tck/src/main/java/org/nuiton/topia/tck/mapping/test5/OneToManyCompositionTest.java 2012-05-09 23:39:40 UTC (rev 2465) @@ -0,0 +1,85 @@ +package org.nuiton.topia.tck.mapping.test5; + +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; + +/** + * Test behaviour of a OnetoMany (composition) relation. + * + * @author tchemit <chemit@codelutin.com> + * @since 3.0 + */ +public class OneToManyCompositionTest extends AbstractMappingTest { + + protected TopiaContext tx; + + protected A5DAO aDAO; + + protected B5DAO bDAO; + + @Before + public void before() throws TopiaException { + tx = db.beginTransaction(); + aDAO = getDAO(tx, A5.class); + bDAO = getDAO(tx, B5.class); + } + + @Test + public void create() throws TopiaException { + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + + A5 a = aDAO.create(); + B5 b = bDAO.create(); + + a.addB5(b); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A5 aBis = aDAO.findByTopiaId(a.getTopiaId()); + Assert.assertEquals(a, aBis); + Assert.assertEquals(1, aBis.sizeB5()); + Assert.assertEquals(b, aBis.getB5().iterator().next()); + + B5 bBis = bDAO.findByTopiaId(b.getTopiaId()); + Assert.assertEquals(b, bBis); + Assert.assertEquals(aBis.getB5().iterator().next(), bBis); + } + + @Test + public void delete() throws TopiaException { + + create(); + + long nbA = aDAO.count(); + long nbB = bDAO.count(); + + Assert.assertEquals(1, nbA); + Assert.assertEquals(1, nbB); + + A5 a = aDAO.findAll().get(0); + aDAO.delete(a); + + tx.commitTransaction(); + + nbA = aDAO.count(); + nbB = bDAO.count(); + + Assert.assertEquals(0, nbA); + Assert.assertEquals(0, nbB); + } +} \ No newline at end of file Modified: trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.properties =================================================================== --- trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.properties 2012-05-09 23:27:55 UTC (rev 2464) +++ trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.properties 2012-05-09 23:39:40 UTC (rev 2465) @@ -22,3 +22,5 @@ # <http://www.gnu.org/licenses/lgpl-3.0.html>. # #L% ### +model.tagvalue.generateOperatorForDAOHelper=true +model.tagvalue.constantPrefix=PROPERTY_ Modified: trunk/topia-persistence-tck/src/main/xmi/topia-tck-mapping.zargo =================================================================== (Binary files differ)
participants (1)
-
tchemit@users.nuiton.org