You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by br...@apache.org on 2003/05/23 18:45:41 UTC
cvs commit: db-ojb/src/test/org/apache/ojb/broker MtoNMapping.java QueryTest.java
brj 2003/05/23 09:45:41
Modified: src/test/org/apache/ojb/broker MtoNMapping.java
QueryTest.java
Log:
moved alias tests to QueryTest
Revision Changes Path
1.12 +0 -21 db-ojb/src/test/org/apache/ojb/broker/MtoNMapping.java
Index: MtoNMapping.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/MtoNMapping.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- MtoNMapping.java 22 May 2003 20:35:12 -0000 1.11
+++ MtoNMapping.java 23 May 2003 16:45:40 -0000 1.12
@@ -232,27 +232,6 @@
assertNotNull(col);
}
- /** test m:n loading using alias */
- public void testMNLoadingAlias() throws Exception
- {
- Criteria crit1 = new Criteria();
- Criteria crit2 = new Criteria();
- QueryByCriteria q;
- Collection result;
-
- broker.clearCache();
-
- crit1.addLike("projects.title","OJB%");
- crit1.setAlias("alias1");
- crit2.addLike("projects.title","SODA%");
- crit2.setAlias("alias2");
- crit1.addAndCriteria(crit2);
-
- q = QueryFactory.newQuery(Person.class, crit1,true);
- result = broker.getCollectionByQuery(q);
- assertNotNull(result);
- assertTrue(result.size() == 2);
- }
/** test loading of m:n unidirectionally mapped objects*/
public void testMNLoadingUnidirectional() throws Exception
1.33 +95 -0 db-ojb/src/test/org/apache/ojb/broker/QueryTest.java
Index: QueryTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/QueryTest.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- QueryTest.java 16 May 2003 19:08:15 -0000 1.32
+++ QueryTest.java 23 May 2003 16:45:40 -0000 1.33
@@ -303,6 +303,28 @@
}
+ /**
+ * Simple ReportQuery returning rows with 2 columns of Person
+ */
+ public void testReportQueryExtent()
+ {
+
+ Criteria crit = new Criteria();
+ Collection results = new Vector();
+ crit.addLike("articleName", "%o%");
+ ReportQueryByCriteria q = QueryFactory.newReportQuery(Article.class, crit);
+ q.setColumns(new String[]{"articleId", "articleName", "price"});
+
+ Iterator iter = broker.getReportQueryIteratorByQuery(q);
+ assertNotNull(iter);
+ while (iter.hasNext())
+ {
+ results.add(iter.next());
+ }
+ assertTrue(results.size() > 0);
+
+ }
+
/**
* ReportQuery returning rows with some "Liquor" data ordered by price
*/
@@ -911,4 +933,77 @@
assertEquals("Query size",recordCount,listQuery.fullSize());
}
+ public void testQueryMN_Alias1() throws Exception
+ {
+ Criteria crit1 = new Criteria();
+ Criteria crit2 = new Criteria();
+ QueryByCriteria q;
+ Collection result;
+
+ broker.clearCache();
+
+ // get persons working for projects OJB and SODA
+ crit1.addLike("projects.title","OJB%");
+ crit1.setAlias("alias1");
+ crit2.addLike("projects.title","SODA%");
+ crit2.setAlias("alias2");
+ crit1.addAndCriteria(crit2);
+
+ q = QueryFactory.newQuery(Person.class, crit1,true);
+ result = broker.getCollectionByQuery(q);
+ assertNotNull(result);
+ assertTrue(result.size() == 2); // bob, tom
+ }
+
+ public void testQueryMN_Alias2() throws Exception
+ {
+ Criteria crit1 = new Criteria();
+ Criteria crit2 = new Criteria();
+ QueryByCriteria q;
+ Collection result1;
+ Collection result2;
+
+ broker.clearCache();
+
+ // get persons working for projects OJB (alias should have no effect)
+ crit1.setAlias("myAlias");
+ crit1.addLike("firstname", "%o%");
+ crit1.addLike("projects.title","OJB%");
+
+ q = QueryFactory.newQuery(Person.class, crit1,true);
+ result1 = broker.getCollectionByQuery(q);
+ assertNotNull(result1);
+ assertTrue(result1.size() == 2); // bob, tom
+
+ // WITHOUT ALIAS
+ // get persons working for projects OJB
+ crit2.addLike("firstname", "%o%");
+ crit2.addLike("projects.title","OJB%");
+
+ q = QueryFactory.newQuery(Person.class, crit2,true);
+ result2 = broker.getCollectionByQuery(q);
+ assertNotNull(result2);
+ assertTrue(result2.size() == 2); // bob, tom
+
+ }
+
+ public void testQueryMN() throws Exception
+ {
+ Criteria crit1 = new Criteria();
+ Criteria crit2 = new Criteria();
+ QueryByCriteria q;
+ Collection result;
+
+ broker.clearCache();
+
+ // get persons working for projects OJB _or_ SODA
+ crit1.addLike("projects.title","OJB%");
+ crit2.addLike("projects.title","SODA%");
+ crit1.addOrCriteria(crit2);
+
+ q = QueryFactory.newQuery(Person.class, crit1,true);
+ result = broker.getCollectionByQuery(q);
+ assertNotNull(result);
+ assertTrue(result.size() == 5); // bob, tom, cindy, albert ,betrand
+ }
}