arminw      2005/11/14 18:20:45

  Modified:    src/test/org/apache/ojb/broker
                        ExtentAwarePathExpressionsTest.java
  Log:
  add test for OJB-62

  add test using multiple class path for same reference field
  
  Revision  Changes    Path
  1.13      +85 -20    
db-ojb/src/test/org/apache/ojb/broker/ExtentAwarePathExpressionsTest.java
  
  Index: ExtentAwarePathExpressionsTest.java
  ===================================================================
  RCS file: 
/home/cvs/db-ojb/src/test/org/apache/ojb/broker/ExtentAwarePathExpressionsTest.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ExtentAwarePathExpressionsTest.java       14 Nov 2005 00:36:11 -0000      
1.12
  +++ ExtentAwarePathExpressionsTest.java       15 Nov 2005 02:20:45 -0000      
1.13
  @@ -17,15 +17,8 @@
    */
   public class ExtentAwarePathExpressionsTest extends PBTestCase
   {
  -    /**
  -     * You can run the test like a java app 
  -     */
        public static void main(String[] args)
        {
  -        //OBS: when running this test from eclipse, one must copy the 
database file to the directory where 
  -        //u checked out ojb from cvs
  -//        URL url = ClassHelper.getResource("DB.script");
  -//        System.out.println("Hsql database @ :" + url);
                String[] arr = {ExtentAwarePathExpressionsTest.class.getName()};
                junit.textui.TestRunner.main(arr);
        }
  @@ -35,18 +28,6 @@
                super(testName);
        }
   
  -//    public static Test suite()
  -//    {
  -//        TestSuite suite = new TestSuite();
  -//        //suite.addTest(new 
ExtentAwarePathExpressionsTest("testAddPathClass"));
  -//        suite.addTest(new 
ExtentAwarePathExpressionsTest("testAddPathClasses"));
  -//        //suite.addTest(new 
ExtentAwarePathExpressionsTest("testNotNullPathElement"));
  -//        //suite.addTest(new 
ExtentAwarePathExpressionsTest("testSetPathClass"));
  -//        //suite.addTest(new 
ExtentAwarePathExpressionsTest("testWithoutHintClass1"));
  -//        //suite.addTest(new 
ExtentAwarePathExpressionsTest("testWithoutHintClass2"));
  -//        return suite;
  -//    }
  -
        public void testWithoutHintClass1() throws Exception
        {
                Criteria criteria = new Criteria();
  @@ -261,4 +242,88 @@
           assertNotNull(((News)content.get(0)).getQualifiers());
           assertEquals(3, ((News)content.get(0)).getQualifiers().size());
       }
  +
  +    // Test for OJB-62
  +    public void testAddClassPathOnQuery_1()
  +    {
  +        Criteria criteria = new Criteria();
  +        criteria.addLike("qualifiers.importance", "impor%");
  +        QueryByCriteria query = QueryFactory.newQuery(BaseContentImpl.class, 
criteria, true);
  +        query.addPathClass("qualifiers", Topic.class);
  +        List content = (List) broker.getCollectionByQuery(query);
  +
  +        assertEquals(1, content.size());
  +        assertEquals(2, ((News)content.get(0)).getId());
  +        assertNotNull(((News)content.get(0)).getQualifiers());
  +        assertEquals(3, ((News)content.get(0)).getQualifiers().size());
  +}
  +
  +    // Test for OJB-62
  +    public void testAddClassPathOnQuery_2()
  +    {
  +        Criteria criteria = new Criteria();
  +        criteria.addLike("qualifiers.importance", "NO_MATCH%");
  +        QueryByCriteria query = QueryFactory.newQuery(BaseContentImpl.class, 
criteria, true);
  +        query.addPathClass("qualifiers", Topic.class);
  +        List content = (List) broker.getCollectionByQuery(query);
  +
  +        assertEquals(0, content.size());
  +    }
  +
  +    // Test multiple path class on query object
  +    public void testMultipleClassPath_1a()
  +    {
  +        Criteria criteria = new Criteria();
  +        criteria.addLike("headline", "SAL%");
  +        criteria.addEqualTo("qualifiers.importance", "unimportant");
  +        criteria.addEqualTo("qualifiers.name", "Sellers");
  +        QueryByCriteria query = QueryFactory.newQuery(BaseContentImpl.class, 
criteria, true);
  +        //query.addPathClass("qualifiers", Qualifier.class);
  +        query.addPathClass("qualifiers", Topic.class);
  +        query.addPathClass("qualifiers", TopicExt.class);
  +        List content = (List) broker.getCollectionByQuery(query);
  +
  +        assertEquals(1, content.size());
  +        assertEquals(11, ((Paper)content.get(0)).getId());
  +        assertNotNull(((Paper)content.get(0)).getQualifiers());
  +        assertEquals(2, ((Paper)content.get(0)).getQualifiers().size());
  +    }
  +
  +    // Test multiple path class on criteria object
  +    public void testMultipleClassPath_1b()
  +    {
  +        Criteria criteria = new Criteria();
  +        criteria.addLike("headline", "SAL%");
  +        criteria.addEqualTo("qualifiers.importance", "unimportant");
  +        criteria.addEqualTo("qualifiers.name", "Sellers");
  +        criteria.addPathClass("qualifiers", Qualifier.class);
  +        criteria.addPathClass("qualifiers", TopicExt.class);
  +        criteria.addPathClass("qualifiers", Topic.class);
  +        QueryByCriteria query = QueryFactory.newQuery(BaseContentImpl.class, 
criteria, true);
  +        List content = (List) broker.getCollectionByQuery(query);
  +
  +        assertEquals(1, content.size());
  +        assertEquals(11, ((Paper)content.get(0)).getId());
  +        assertNotNull(((Paper)content.get(0)).getQualifiers());
  +        assertEquals(2, ((Paper)content.get(0)).getQualifiers().size());
  +    }
  +
  +    // Test multiple path class on query object
  +    public void testMultipleClassPath_1c()
  +    {
  +        Criteria criteria = new Criteria();
  +        criteria.addLike("headline", "SAL%");
  +        criteria.addEqualTo("qualifiers.importance", "unimportant");
  +        criteria.addEqualTo("qualifiers.name", "Sellers");
  +        //criteria.addPathClass("qualifiers", Qualifier.class);
  +        criteria.addPathClass("qualifiers", TopicExt.class);
  +        criteria.addPathClass("qualifiers", Topic.class);
  +        QueryByCriteria query = QueryFactory.newQuery(BaseContentImpl.class, 
criteria, true);
  +        List content = (List) broker.getCollectionByQuery(query);
  +
  +        assertEquals(1, content.size());
  +        assertEquals(11, ((Paper)content.get(0)).getId());
  +        assertNotNull(((Paper)content.get(0)).getQualifiers());
  +        assertEquals(2, ((Paper)content.get(0)).getQualifiers().size());
  +    }
   }
  \ No newline at end of file
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to