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
  +    }
   }