otis        2003/03/01 18:47:01

  Modified:    src/test/org/apache/lucene/queryParser TestQueryParser.java
  Log:
  - Added tests for the new QueryParser changes.
  Contributed by: Tatu Saloranta.
  
  Revision  Changes    Path
  1.20      +47 -6     
jakarta-lucene/src/test/org/apache/lucene/queryParser/TestQueryParser.java
  
  Index: TestQueryParser.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-lucene/src/test/org/apache/lucene/queryParser/TestQueryParser.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- TestQueryParser.java      15 Feb 2003 20:16:07 -0000      1.19
  +++ TestQueryParser.java      2 Mar 2003 02:47:01 -0000       1.20
  @@ -3,8 +3,8 @@
   /* ====================================================================
    * The Apache Software License, Version 1.1
    *
  - * Copyright (c) 2001 The Apache Software Foundation.  All rights
  - * reserved.
  + * Copyright (c) 2001, 2002, 2003 The Apache Software Foundation.  All
  + * rights reserved.
    *
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions
  @@ -67,6 +67,11 @@
   import org.apache.lucene.analysis.standard.*;
   import org.apache.lucene.analysis.Token;
   
  +/**
  + * Tests QueryParser.
  + *
  + * @version $Id$
  + */
   public class TestQueryParser extends TestCase {
   
       public TestQueryParser(String name) {
  @@ -86,7 +91,7 @@
        }
   
        boolean inPhrase = false;
  -     int savedStart=0, savedEnd=0;
  +     int savedStart = 0, savedEnd = 0;
   
        public Token next() throws IOException {
            if (inPhrase) {
  @@ -119,12 +124,16 @@
        }
       }
   
  -    public Query getQuery(String query, Analyzer a) throws Exception {
  +    public QueryParser getParser(Analyzer a) throws Exception {
        if (a == null)
            a = new SimpleAnalyzer();
        QueryParser qp = new QueryParser("field", a);
        qp.setOperator(QueryParser.DEFAULT_OPERATOR_OR);
  -     return qp.parse(query);
  +     return qp;
  +    }
  +
  +    public Query getQuery(String query, Analyzer a) throws Exception {
  +     return getParser(a).parse(query);
       }
   
       public void assertQueryEquals(String query, Analyzer a, String result)
  @@ -137,6 +146,18 @@
        }
       }
   
  +    public void assertWildcardQueryEquals(String query, boolean lowercase, String 
result)
  +     throws Exception {
  +     QueryParser qp = getParser(null);
  +     qp.setLowercaseWildcardTerms(lowercase);
  +     Query q = qp.parse(query);
  +     String s = q.toString("field");
  +     if (!s.equals(result)) {
  +         fail("WildcardQuery /" + query + "/ yielded /" + s
  +             + "/, expecting /" + result + "/");
  +     }
  +    }
  +
       public Query getQueryDOA(String query, Analyzer a)
        throws Exception
       {
  @@ -247,6 +268,26 @@
        assertTrue(getQuery("term*^2", null) instanceof PrefixQuery);
        assertTrue(getQuery("term~", null) instanceof FuzzyQuery);
        assertTrue(getQuery("term*germ", null) instanceof WildcardQuery);
  +
  +     /* Tests to see that wild card terms are (or are not) properly
  +      * lower-cased with propery parser configuration
  +      */
  +     // First prefix queries:
  +     assertWildcardQueryEquals("term*", true, "term*");
  +     assertWildcardQueryEquals("Term*", true, "term*");
  +     assertWildcardQueryEquals("TERM*", true, "term*");
  +     assertWildcardQueryEquals("term*", false, "term*");
  +     assertWildcardQueryEquals("Term*", false, "Term*");
  +     assertWildcardQueryEquals("TERM*", false, "TERM*");
  +     // Then 'full' wildcard queries:
  +     assertWildcardQueryEquals("te?m", true, "te?m");
  +     assertWildcardQueryEquals("Te?m", true, "te?m");
  +     assertWildcardQueryEquals("TE?M", true, "te?m");
  +     assertWildcardQueryEquals("Te?m*gerM", true, "te?m*germ");
  +     assertWildcardQueryEquals("te?m", false, "te?m");
  +     assertWildcardQueryEquals("Te?m", false, "Te?m");
  +     assertWildcardQueryEquals("TE?M", false, "TE?M");
  +     assertWildcardQueryEquals("Te?m*gerM", false, "Te?m*gerM");
       }
   
       public void testQPA() throws Exception {
  @@ -290,7 +331,7 @@
   
       public void testDateRange() throws Exception {
       String startDate = getLocalizedDate(2002, 1, 1);
  -    String endDate = getLocalizedDate(2002, 1, 4); 
  +    String endDate = getLocalizedDate(2002, 1, 4);
        assertQueryEquals("[ " + startDate + " TO " + endDate + "]", null,
            "[" + getDate(startDate) + "-" + getDate(endDate) + "]");
        assertQueryEquals("{  " + startDate + "    " + endDate + "   }", null,
  
  
  

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

Reply via email to