I haven't looked at this code in detail, but it seems this resetting
could be done in tearDown() of the test cases rather than
complicating the tests with try/finally?
Just a JUnit FYI... tearDown is called after _each_ testXXX method,
so if the reset is needed in the middle of a testXXX then try/finally
makes sense (though separating into different test methods would be
better IMO).
Erik
On 6 Nov 2005, at 10:32, [EMAIL PROTECTED] wrote:
Author: yonik
Date: Sun Nov 6 07:32:28 2005
New Revision: 331111
URL: http://svn.apache.org/viewcvs?rev=331111&view=rev
Log:
reset useScorer14 in finally in case of test failure
Modified:
lucene/java/trunk/src/test/org/apache/lucene/search/
TestBoolean2.java
Modified: lucene/java/trunk/src/test/org/apache/lucene/search/
TestBoolean2.java
URL: http://svn.apache.org/viewcvs/lucene/java/trunk/src/test/org/
apache/lucene/search/TestBoolean2.java?
rev=331111&r1=331110&r2=331111&view=diff
======================================================================
========
--- lucene/java/trunk/src/test/org/apache/lucene/search/
TestBoolean2.java (original)
+++ lucene/java/trunk/src/test/org/apache/lucene/search/
TestBoolean2.java Sun Nov 6 07:32:28 2005
@@ -68,15 +68,19 @@
public void queriesTest(String queryText, int[] expDocNrs)
throws Exception {
//System.out.println();
//System.out.println("Query: " + queryText);
- Query query1 = makeQuery(queryText);
- BooleanQuery.setUseScorer14(true);
- Hits hits1 = searcher.search(query1);
-
- Query query2 = makeQuery(queryText); // there should be no
need to parse again...
- BooleanQuery.setUseScorer14(false);
- Hits hits2 = searcher.search(query2);
+ try {
+ Query query1 = makeQuery(queryText);
+ BooleanQuery.setUseScorer14(true);
+ Hits hits1 = searcher.search(query1);
+
+ Query query2 = makeQuery(queryText); // there should be no
need to parse again...
+ BooleanQuery.setUseScorer14(false);
+ Hits hits2 = searcher.search(query2);
- CheckHits.checkHitsQuery(query2, hits1, hits2, expDocNrs);
+ CheckHits.checkHitsQuery(query2, hits1, hits2, expDocNrs);
+ } finally { // even when a test fails.
+ BooleanQuery.setUseScorer14(false);
+ }
}
public void testQueries01() throws Exception {
@@ -150,25 +154,33 @@
String[] vals = {"w1","w2","w3","w4","w5","xx","yy","zzz"};
int tot=0;
- // increase number of iterations for more complete testing
- for (int i=0; i<1000; i++) {
- int level = rnd.nextInt(3);
- BooleanQuery q1 = randBoolQuery(new Random(i), level, field,
vals, null);
-
- // Can't sort by relevance since floating point numbers may
not quite
- // match up.
- Sort sort = Sort.INDEXORDER;
- BooleanQuery.setUseScorer14(false);
- Hits hits1 = searcher.search(q1,sort);
- if (hits1.length()>0) hits1.id(hits1.length()-1);
+ try {
- BooleanQuery.setUseScorer14(true);
- Hits hits2 = searcher.search(q1,sort);
- if (hits2.length()>0) hits2.id(hits1.length()-1);
- tot+=hits2.length();
- CheckHits.checkEqual(q1, hits1, hits2);
+ // increase number of iterations for more complete testing
+ for (int i=0; i<1000; i++) {
+ int level = rnd.nextInt(3);
+ BooleanQuery q1 = randBoolQuery(new Random(i), level,
field, vals, null);
+
+ // Can't sort by relevance since floating point numbers
may not quite
+ // match up.
+ Sort sort = Sort.INDEXORDER;
+
+ BooleanQuery.setUseScorer14(false);
+ Hits hits1 = searcher.search(q1,sort);
+ if (hits1.length()>0) hits1.id(hits1.length()-1);
+
+ BooleanQuery.setUseScorer14(true);
+ Hits hits2 = searcher.search(q1,sort);
+ if (hits2.length()>0) hits2.id(hits1.length()-1);
+ tot+=hits2.length();
+ CheckHits.checkEqual(q1, hits1, hits2);
+ }
+
+ } finally { // even when a test fails.
+ BooleanQuery.setUseScorer14(false);
}
+
// System.out.println("Total hits:"+tot);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]