]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernateTest.java
Rename SLC Hibernate
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.hibernate / src / test / java / org / argeo / slc / hibernate / test / tree / TreeTestResultCollectionDaoHibernateTest.java
diff --git a/runtime/org.argeo.slc.support.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernateTest.java b/runtime/org.argeo.slc.support.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernateTest.java
new file mode 100644 (file)
index 0000000..34430c9
--- /dev/null
@@ -0,0 +1,65 @@
+package org.argeo.slc.hibernate.test.tree;\r
+\r
+import java.sql.SQLException;\r
+\r
+import org.argeo.slc.core.test.tree.TreeTestResult;\r
+import org.argeo.slc.core.test.tree.TreeTestResultCollection;\r
+import org.argeo.slc.dao.test.tree.TreeTestResultCollectionDao;\r
+import org.argeo.slc.dao.test.tree.TreeTestResultDao;\r
+import org.argeo.slc.hibernate.unit.HibernateTestCase;\r
+import org.argeo.slc.unit.test.tree.TreeTestResultTestUtils;\r
+import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;\r
+import org.hibernate.HibernateException;\r
+import org.hibernate.Session;\r
+import org.springframework.orm.hibernate3.HibernateCallback;\r
+\r
+public class TreeTestResultCollectionDaoHibernateTest extends HibernateTestCase {\r
+\r
+       public void testScenario() {\r
+               TreeTestResultDao ttrDao = getBean(TreeTestResultDao.class);\r
+               TreeTestResultCollectionDao ttrcDao = getBean(TreeTestResultCollectionDao.class);\r
+\r
+               String ttrcName = "testCollection";\r
+\r
+               TreeTestResult ttr1 = TreeTestResultTestUtils\r
+                               .createCompleteTreeTestResult();\r
+               ttrDao.create(ttr1);\r
+\r
+               TreeTestResultCollection ttrc = new TreeTestResultCollection(ttrcName);\r
+               ttrcDao.create(ttrc);\r
+\r
+               ttrc.getResults().add(ttr1);\r
+               ttrcDao.update(ttrc);\r
+\r
+               final TreeTestResult ttr2 = TreeTestResultTestUtils\r
+                               .createCompleteTreeTestResult();\r
+               ttrDao.create(ttr2);\r
+\r
+               ttrc.getResults().add(ttr2);\r
+               ttrcDao.update(ttrc);\r
+\r
+               ttrc.getResults().remove(ttr1);\r
+               ttrcDao.update(ttrc);\r
+\r
+               final TreeTestResultCollection ttrcPersist = ttrcDao\r
+                               .getTestResultCollection(ttrcName);\r
+\r
+               getHibernateTemplate().execute(new HibernateCallback() {\r
+\r
+                       public Object doInHibernate(Session session)\r
+                                       throws HibernateException, SQLException {\r
+                               session.refresh(ttrcPersist);\r
+                               assertEquals(1, ttrcPersist.getResults().size());\r
+                               UnitTestTreeUtil.assertTreeTestResult(ttr2, ttrcPersist\r
+                                               .getResults().iterator().next());\r
+                               return null;\r
+                       }\r
+               });\r
+       }\r
+\r
+       @Override\r
+       protected String getApplicationContextLocation() {\r
+               return "org/argeo/slc/hibernate/applicationContext.xml";\r
+       }\r
+\r
+}\r