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 2004/12/05 16:17:40 UTC

cvs commit: db-ojb/src/test/org/apache/ojb/broker QueryTest.java

brj         2004/12/05 07:17:40

  Modified:    src/test/org/apache/ojb/broker QueryTest.java
  Log:
  added new testcases
  
  Revision  Changes    Path
  1.75      +69 -3     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.74
  retrieving revision 1.75
  diff -u -r1.74 -r1.75
  --- QueryTest.java	15 Sep 2004 17:18:45 -0000	1.74
  +++ QueryTest.java	5 Dec 2004 15:17:40 -0000	1.75
  @@ -34,7 +34,7 @@
   	 */
       public QueryTest(String name)
       {
  -        super(name);
  +        super(name);  
       }
   
       public static void main(String[] args)
  @@ -618,10 +618,27 @@
           Criteria crit = new Criteria();
           crit.addEqualTo("productGroup.groupName", "Liquors");
           Query q = QueryFactory.newQuery(Article.class, crit);
  -        //System.out.println(q.toString());
   
           Collection results = broker.getCollectionByQuery(q);
  -        //System.out.println(results.toString());
  +        assertNotNull(results);
  +        assertTrue(results.size() > 0);
  +
  +        // compare with count
  +        int count = broker.getCount(q);
  +        assertEquals(results.size(), count);
  +    }
  +
  +    /**
  +	 * Single Path Expression
  +	 */
  +    public void testPathExpressionsAndFunctions()
  +    {
  +
  +        Criteria crit = new Criteria();
  +        crit.addEqualTo("upper(productGroup.groupName)", "LIQUORS");
  +        Query q = QueryFactory.newQuery(Article.class, crit);
  +
  +        Collection results = broker.getCollectionByQuery(q);
           assertNotNull(results);
           assertTrue(results.size() > 0);
   
  @@ -1676,6 +1693,55 @@
           assertEquals("check size", list.size(), 1);
       }
   
  +    /**
  +	 * Test pathExpression with projection attribute
  +	 */
  +    public void testPathExpressionWithProjection()
  +    {
  +        // TODO: make path expressions extent aware
  +        if(ojbSkipKnownIssueProblem()) return;
  +
  +        ArrayList list1 = new java.util.ArrayList();
  +
  +        // Read ProductGroup with Articles
  +        Criteria crit1 = new Criteria();
  +        crit1.addLike("groupName", "B%");
  +        crit1.addLike("upper(allArticlesInGroup.articleName)", "F%");
  +
  +        QueryByCriteria q1 = QueryFactory.newQuery(ProductGroup.class, crit1, true);
  +
  +        Iterator iter1 = broker.getIteratorByQuery(q1);
  +        while (iter1.hasNext())
  +        {
  +            list1.add(iter1.next());
  +        }
  +
  +        // ProductGroup 5
  +        assertEquals("check size", list1.size(), 1);
  +
  +        
  +        ArrayList list2 = new java.util.ArrayList();
  +
  +        // Read ProductGroup with Articles
  +        Criteria crit2 = new Criteria();
  +        crit2.addLike("groupName", "B%");
  +        crit2.addLike("upper(allArticlesInGroup.articleName)", "F%");
  +
  +        QueryByCriteria q2 = QueryFactory.newQuery(ProductGroup.class, crit2, true);
  +        // set searchclass to Article
  +        q2.setObjectProjectionAttribute("allArticlesInGroup");
  +
  +        Iterator iter2 = broker.getIteratorByQuery(q2);
  +        while (iter2.hasNext())
  +        {
  +            list2.add(iter2.next());
  +        }
  +
  +        // ProductGroup 5
  +        assertEquals("check size", list2.size(), 1);
  +        
  +    }
  +    
       /**
   	 * Test ReportQuery and Alias
   	 */
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org