+++ /dev/null
-package org.apache.lucene.analysis.cz;
-
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.util.Version;
-
-/**
- * Test the CzechAnalyzer
- *
- * Before Lucene 3.1, CzechAnalyzer was a StandardAnalyzer with a custom
- * stopword list. As of 3.1 it also includes a stemmer.
- *
- */
-public class TestCzechAnalyzer extends BaseTokenStreamTestCase {
-
- /**
- * @deprecated Remove this test when support for 3.0 indexes is no longer needed.
- */
- @Deprecated
- public void testStopWordLegacy() throws Exception {
- assertAnalyzesTo(new CzechAnalyzer(Version.LUCENE_30), "Pokud mluvime o volnem",
- new String[] { "mluvime", "volnem" });
- }
-
- public void testStopWord() throws Exception {
- assertAnalyzesTo(new CzechAnalyzer(TEST_VERSION_CURRENT), "Pokud mluvime o volnem",
- new String[] { "mluvim", "voln" });
- }
-
- /**
- * @deprecated Remove this test when support for 3.0 indexes is no longer needed.
- */
- @Deprecated
- public void testReusableTokenStreamLegacy() throws Exception {
- Analyzer analyzer = new CzechAnalyzer(Version.LUCENE_30);
- assertAnalyzesToReuse(analyzer, "Pokud mluvime o volnem", new String[] { "mluvime", "volnem" });
- assertAnalyzesToReuse(analyzer, "Česká Republika", new String[] { "česká", "republika" });
- }
-
- public void testReusableTokenStream() throws Exception {
- Analyzer analyzer = new CzechAnalyzer(TEST_VERSION_CURRENT);
- assertAnalyzesToReuse(analyzer, "Pokud mluvime o volnem", new String[] { "mluvim", "voln" });
- assertAnalyzesToReuse(analyzer, "Česká Republika", new String[] { "česk", "republik" });
- }
-
- /**
- * An input stream that always throws IOException for testing.
- * @deprecated Remove this class when the loadStopWords method is removed.
- */
- @Deprecated
- private class UnreliableInputStream extends InputStream {
- @Override
- public int read() throws IOException {
- throw new IOException();
- }
- }
-
- /**
- * The loadStopWords method does not throw IOException on error,
- * instead previously it set the stoptable to null (versus empty)
- * this would cause a NPE when it is time to create the StopFilter.
- * @deprecated Remove this test when the loadStopWords method is removed.
- */
- @Deprecated
- public void testInvalidStopWordFile() throws Exception {
- CzechAnalyzer cz = new CzechAnalyzer(Version.LUCENE_30);
- cz.loadStopWords(new UnreliableInputStream(), "UTF-8");
- assertAnalyzesTo(cz, "Pokud mluvime o volnem",
- new String[] { "pokud", "mluvime", "o", "volnem" });
- }
-
- /**
- * Test that changes to the stop table via loadStopWords are applied immediately
- * when using reusable token streams.
- * @deprecated Remove this test when the loadStopWords method is removed.
- */
- @Deprecated
- public void testStopWordFileReuse() throws Exception {
- CzechAnalyzer cz = new CzechAnalyzer(Version.LUCENE_30);
- assertAnalyzesToReuse(cz, "Česká Republika",
- new String[] { "česká", "republika" });
-
- InputStream stopwords = getClass().getResourceAsStream("customStopWordFile.txt");
- cz.loadStopWords(stopwords, "UTF-8");
-
- assertAnalyzesToReuse(cz, "Česká Republika", new String[] { "česká" });
- }
-
- public void testWithStemExclusionSet() throws IOException{
- CharArraySet set = new CharArraySet(TEST_VERSION_CURRENT, 1, true);
- set.add("hole");
- CzechAnalyzer cz = new CzechAnalyzer(TEST_VERSION_CURRENT, CharArraySet.EMPTY_SET, set);
- assertAnalyzesTo(cz, "hole desek", new String[] {"hole", "desk"});
- }
-
- /** blast some random strings through the analyzer */
- public void testRandomStrings() throws Exception {
- checkRandomData(random, new CzechAnalyzer(TEST_VERSION_CURRENT), 10000*RANDOM_MULTIPLIER);
- }
-}