You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2011/05/10 20:36:55 UTC
svn commit: r1101585 -
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SingleTableInheritanceTest.java
Author: aadamchik
Date: Tue May 10 18:36:54 2011
New Revision: 1101585
URL: http://svn.apache.org/viewvc?rev=1101585&view=rev
Log:
CAY-1563 CayenneCase unit tests conversion(3)
patch by Dzmitry Kazimirchyk - SingleTableInheritanceTest + data set creation refactoring
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SingleTableInheritanceTest.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SingleTableInheritanceTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SingleTableInheritanceTest.java?rev=1101585&r1=1101584&r2=1101585&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SingleTableInheritanceTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/SingleTableInheritanceTest.java Tue May 10 18:36:54 2011
@@ -20,97 +20,92 @@ package org.apache.cayenne.access;
import java.util.List;
+import org.apache.cayenne.di.Inject;
import org.apache.cayenne.exp.ExpressionFactory;
-import org.apache.cayenne.query.QueryChain;
-import org.apache.cayenne.query.SQLTemplate;
import org.apache.cayenne.query.SelectQuery;
import org.apache.cayenne.query.SortOrder;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
import org.apache.cayenne.testdo.inherit.AbstractPerson;
import org.apache.cayenne.testdo.inherit.Employee;
import org.apache.cayenne.testdo.inherit.Manager;
-import org.apache.cayenne.unit.PeopleCase;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
-public class SingleTableInheritanceTest extends PeopleCase {
+@UseServerRuntime(ServerCase.PEOPLE_PROJECT)
+public class SingleTableInheritanceTest extends ServerCase {
+
+ @Inject
+ private DataContext context;
+
+ @Inject
+ private DBHelper dbHelper;
+
+ private TableHelper tPerson;
@Override
- protected void setUp() throws Exception {
- super.setUp();
- deleteTestData();
- }
-
- public void testMatchingOnSuperAttributes() {
- QueryChain insert = new QueryChain();
- insert
- .addQuery(new SQLTemplate(
- AbstractPerson.class,
- "INSERT INTO PERSON (PERSON_ID, NAME, PERSON_TYPE) VALUES (1, 'E1', 'EE')"));
- insert
- .addQuery(new SQLTemplate(
- AbstractPerson.class,
- "INSERT INTO PERSON (PERSON_ID, NAME, PERSON_TYPE) VALUES (2, 'E2', 'EM')"));
- createDataContext().performGenericQuery(insert);
-
+ protected void setUpAfterInjection() throws Exception {
+ dbHelper.deleteAll("ADDRESS");
+ dbHelper.deleteAll("DEPARTMENT");
+ dbHelper.deleteAll("PERSON_NOTES");
+ dbHelper.deleteAll("CLIENT_COMPANY");
+ dbHelper.deleteAll("PERSON");
+
+ tPerson = new TableHelper(dbHelper, "PERSON");
+ tPerson.setColumns("PERSON_ID", "NAME", "PERSON_TYPE");
+ }
+
+ private void create2PersonDataSet() throws Exception {
+ tPerson.insert(1, "E1", "EE");
+ tPerson.insert(2, "E2", "EM");
+ }
+
+ private void create5PersonDataSet() throws Exception {
+ tPerson.insert(1, "E1", "EE");
+ tPerson.insert(2, "E2", "EM");
+ tPerson.insert(3, "E3", "EE");
+ tPerson.insert(4, "E4", "EM");
+ tPerson.insert(5, "E5", "EE");
+ }
+
+ public void testMatchingOnSuperAttributes() throws Exception {
+ create2PersonDataSet();
+
// fetch on leaf, but match on a super attribute
SelectQuery select = new SelectQuery(Manager.class);
- select.andQualifier(ExpressionFactory.matchExp(AbstractPerson.NAME_PROPERTY, "E2"));
-
- List<Manager> results = createDataContext().performQuery(select);
+ select.andQualifier(ExpressionFactory
+ .matchExp(AbstractPerson.NAME_PROPERTY, "E2"));
+
+ List<Manager> results = context.performQuery(select);
assertEquals(1, results.size());
assertEquals("E2", results.get(0).getName());
}
-
- public void testMatchingOnSuperAttributesWithPrefetch() {
- QueryChain insert = new QueryChain();
- insert
- .addQuery(new SQLTemplate(
- AbstractPerson.class,
- "INSERT INTO PERSON (PERSON_ID, NAME, PERSON_TYPE) VALUES (1, 'E1', 'EE')"));
- insert
- .addQuery(new SQLTemplate(
- AbstractPerson.class,
- "INSERT INTO PERSON (PERSON_ID, NAME, PERSON_TYPE) VALUES (2, 'E2', 'EM')"));
- createDataContext().performGenericQuery(insert);
-
+
+ public void testMatchingOnSuperAttributesWithPrefetch() throws Exception {
+ create2PersonDataSet();
+
// fetch on leaf, but match on a super attribute
SelectQuery select = new SelectQuery(Employee.class);
select.addPrefetch(Employee.TO_DEPARTMENT_PROPERTY);
- select.andQualifier(ExpressionFactory.matchExp(AbstractPerson.NAME_PROPERTY, "E2"));
-
- List<Manager> results = createDataContext().performQuery(select);
+ select.andQualifier(ExpressionFactory
+ .matchExp(AbstractPerson.NAME_PROPERTY, "E2"));
+
+ List<Manager> results = context.performQuery(select);
assertEquals(1, results.size());
assertEquals("E2", results.get(0).getName());
}
- public void testPaginatedQueries() {
+ public void testPaginatedQueries() throws Exception {
- QueryChain insert = new QueryChain();
- insert
- .addQuery(new SQLTemplate(
- AbstractPerson.class,
- "INSERT INTO PERSON (PERSON_ID, NAME, PERSON_TYPE) VALUES (1, 'E1', 'EE')"));
- insert
- .addQuery(new SQLTemplate(
- AbstractPerson.class,
- "INSERT INTO PERSON (PERSON_ID, NAME, PERSON_TYPE) VALUES (2, 'E2', 'EM')"));
- insert
- .addQuery(new SQLTemplate(
- AbstractPerson.class,
- "INSERT INTO PERSON (PERSON_ID, NAME, PERSON_TYPE) VALUES (3, 'E3', 'EE')"));
- insert
- .addQuery(new SQLTemplate(
- AbstractPerson.class,
- "INSERT INTO PERSON (PERSON_ID, NAME, PERSON_TYPE) VALUES (4, 'E4', 'EM')"));
- insert
- .addQuery(new SQLTemplate(
- AbstractPerson.class,
- "INSERT INTO PERSON (PERSON_ID, NAME, PERSON_TYPE) VALUES (5, 'E5', 'EE')"));
- createDataContext().performGenericQuery(insert);
+ create5PersonDataSet();
SelectQuery select = new SelectQuery(AbstractPerson.class);
- select.addOrdering("db:" + AbstractPerson.PERSON_ID_PK_COLUMN, SortOrder.ASCENDING);
+ select.addOrdering(
+ "db:" + AbstractPerson.PERSON_ID_PK_COLUMN,
+ SortOrder.ASCENDING);
select.setPageSize(3);
- List<AbstractPerson> results = createDataContext().performQuery(select);
+ List<AbstractPerson> results = context.performQuery(select);
assertEquals(5, results.size());
assertTrue(results.get(0) instanceof Employee);