convert WordDelimiterFilterTest to SolrTestCaseJ4

git-svn-id: https://svn.apache.org/repos/asf/lucene/solr/branches/newtrunk@925464 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Robert Muir 2010-03-19 22:32:21 +00:00
parent 874110e6d8
commit 48d41551cb
1 changed files with 29 additions and 10 deletions

View File

@ -27,7 +27,9 @@ import org.apache.lucene.analysis.WhitespaceTokenizer;
import org.apache.lucene.analysis.miscellaneous.SingleTokenTokenStream; import org.apache.lucene.analysis.miscellaneous.SingleTokenTokenStream;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.analysis.tokenattributes.TermAttribute; import org.apache.lucene.analysis.tokenattributes.TermAttribute;
import org.apache.solr.util.AbstractSolrTestCase; import org.apache.solr.SolrTestCaseJ4;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.apache.solr.analysis.BaseTokenTestCase.*; import static org.apache.solr.analysis.BaseTokenTestCase.*;
@ -35,16 +37,17 @@ import java.io.IOException;
import java.io.Reader; import java.io.Reader;
import java.io.StringReader; import java.io.StringReader;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map;
/** /**
* New WordDelimiterFilter tests... most of the tests are in ConvertedLegacyTest * New WordDelimiterFilter tests... most of the tests are in ConvertedLegacyTest
*/ */
public class TestWordDelimiterFilter extends AbstractSolrTestCase { public class TestWordDelimiterFilter extends SolrTestCaseJ4 {
public String getSchemaFile() { return "solr/conf/schema.xml"; }
public String getSolrConfigFile() { return "solr/conf/solrconfig.xml"; } @BeforeClass
public static void beforeClass() throws Exception {
initCore("solrconfig.xml","schema.xml");
}
public void posTst(String v1, String v2, String s1, String s2) { public void posTst(String v1, String v2, String s1, String s2) {
assertU(adoc("id", "42", assertU(adoc("id", "42",
@ -62,9 +65,10 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
req("+id:42 +subword:\"" + s1 + ' ' + s2 + "\"~110") req("+id:42 +subword:\"" + s1 + ' ' + s2 + "\"~110")
,"//result[@numFound=1]" ,"//result[@numFound=1]"
); );
clearIndex();
} }
@Test
public void testRetainPositionIncrement() { public void testRetainPositionIncrement() {
posTst("foo","bar","foo","bar"); posTst("foo","bar","foo","bar");
posTst("-foo-","-bar-","foo","bar"); posTst("-foo-","-bar-","foo","bar");
@ -79,10 +83,13 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
posTst("zoo-foo-123","456-bar-baz","foo","bar"); posTst("zoo-foo-123","456-bar-baz","foo","bar");
} }
@Test
public void testNoGenerationEdgeCase() { public void testNoGenerationEdgeCase() {
assertU(adoc("id", "222", "numberpartfail", "123.123.123.123")); assertU(adoc("id", "222", "numberpartfail", "123.123.123.123"));
clearIndex();
} }
@Test
public void testIgnoreCaseChange() { public void testIgnoreCaseChange() {
assertU(adoc("id", "43", assertU(adoc("id", "43",
@ -98,9 +105,10 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
req("subword:(good jon)") req("subword:(good jon)")
,"//result[@numFound=1]" ,"//result[@numFound=1]"
); );
clearIndex();
} }
@Test
public void testPreserveOrignalTrue() { public void testPreserveOrignalTrue() {
assertU(adoc("id", "144", assertU(adoc("id", "144",
@ -121,7 +129,7 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
req("wdf_preserve:404-123*") req("wdf_preserve:404-123*")
,"//result[@numFound=1]" ,"//result[@numFound=1]"
); );
clearIndex();
} }
/*** /***
@ -142,7 +150,7 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
} }
***/ ***/
@Test
public void testOffsets() throws IOException { public void testOffsets() throws IOException {
// test that subwords and catenated subwords have // test that subwords and catenated subwords have
@ -166,6 +174,7 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
new int[] { 6, 6, 6 }); new int[] { 6, 6, 6 });
} }
@Test
public void testOffsetChange() throws Exception public void testOffsetChange() throws Exception
{ {
WordDelimiterFilter wdf = new WordDelimiterFilter( WordDelimiterFilter wdf = new WordDelimiterFilter(
@ -179,6 +188,7 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
new int[] { 15 }); new int[] { 15 });
} }
@Test
public void testOffsetChange2() throws Exception public void testOffsetChange2() throws Exception
{ {
WordDelimiterFilter wdf = new WordDelimiterFilter( WordDelimiterFilter wdf = new WordDelimiterFilter(
@ -192,6 +202,7 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
new int[] { 17 }); new int[] { 17 });
} }
@Test
public void testOffsetChange3() throws Exception public void testOffsetChange3() throws Exception
{ {
WordDelimiterFilter wdf = new WordDelimiterFilter( WordDelimiterFilter wdf = new WordDelimiterFilter(
@ -205,6 +216,7 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
new int[] { 16 }); new int[] { 16 });
} }
@Test
public void testOffsetChange4() throws Exception public void testOffsetChange4() throws Exception
{ {
WordDelimiterFilter wdf = new WordDelimiterFilter( WordDelimiterFilter wdf = new WordDelimiterFilter(
@ -218,6 +230,7 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
new int[] { 11, 15, 15 }); new int[] { 11, 15, 15 });
} }
@Test
public void testAlphaNumericWords(){ public void testAlphaNumericWords(){
assertU(adoc("id", "68","numericsubword","Java/J2SE")); assertU(adoc("id", "68","numericsubword","Java/J2SE"));
assertU(commit()); assertU(commit());
@ -230,8 +243,10 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
req("numericsubword:(J2 OR SE)") req("numericsubword:(J2 OR SE)")
,"//result[@numFound=0]" ,"//result[@numFound=0]"
); );
clearIndex();
} }
@Test
public void testProtectedWords(){ public void testProtectedWords(){
assertU(adoc("id", "70","protectedsubword","c# c++ .net Java/J2SE")); assertU(adoc("id", "70","protectedsubword","c# c++ .net Java/J2SE"));
assertU(commit()); assertU(commit());
@ -264,6 +279,7 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
req("protectedsubword:net") req("protectedsubword:net")
,"//result[@numFound=0]" ,"//result[@numFound=0]"
); );
clearIndex();
} }
@ -274,6 +290,7 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
assertTokenStreamContents(wdf, output); assertTokenStreamContents(wdf, output);
} }
@Test
public void testSplits() throws Exception { public void testSplits() throws Exception {
doSplit("basic-split","basic","split"); doSplit("basic-split","basic","split");
doSplit("camelCase","camel","Case"); doSplit("camelCase","camel","Case");
@ -318,6 +335,7 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
/* /*
* Test option that allows disabling the special "'s" stemming, instead treating the single quote like other delimiters. * Test option that allows disabling the special "'s" stemming, instead treating the single quote like other delimiters.
*/ */
@Test
public void testPossessives() throws Exception { public void testPossessives() throws Exception {
doSplitPossessive(1, "ra's", "ra"); doSplitPossessive(1, "ra's", "ra");
doSplitPossessive(0, "ra's", "ra", "s"); doSplitPossessive(0, "ra's", "ra", "s");
@ -348,6 +366,7 @@ public class TestWordDelimiterFilter extends AbstractSolrTestCase {
} }
} }
@Test
public void testPositionIncrements() throws Exception { public void testPositionIncrements() throws Exception {
final CharArraySet protWords = new CharArraySet(new HashSet<String>(Arrays.asList("NUTCH")), false); final CharArraySet protWords = new CharArraySet(new HashSet<String>(Arrays.asList("NUTCH")), false);