1 package org.apache.lucene.analysis;
3 import java.io.StringReader;
4 import java.util.HashMap;
7 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed with
12 * this work for additional information regarding copyright ownership.
13 * The ASF licenses this file to You under the Apache License, Version 2.0
14 * (the "License"); you may not use this file except in compliance with
15 * the License. You may obtain a copy of the License at
17 * http://www.apache.org/licenses/LICENSE-2.0
19 * Unless required by applicable law or agreed to in writing, software
20 * distributed under the License is distributed on an "AS IS" BASIS,
21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 * See the License for the specific language governing permissions and
23 * limitations under the License.
26 public class TestPerFieldAnalzyerWrapper extends BaseTokenStreamTestCase {
27 public void testPerField() throws Exception {
28 String text = "Qwerty";
30 Map<String, Analyzer> analyzerPerField = new HashMap<String, Analyzer>();
31 analyzerPerField.put("special", new SimpleAnalyzer(TEST_VERSION_CURRENT));
33 PerFieldAnalyzerWrapper analyzer =
34 new PerFieldAnalyzerWrapper(new WhitespaceAnalyzer(TEST_VERSION_CURRENT), analyzerPerField);
36 TokenStream tokenStream = analyzer.tokenStream("field",
37 new StringReader(text));
38 CharTermAttribute termAtt = tokenStream.getAttribute(CharTermAttribute.class);
40 assertTrue(tokenStream.incrementToken());
41 assertEquals("WhitespaceAnalyzer does not lowercase",
45 tokenStream = analyzer.tokenStream("special",
46 new StringReader(text));
47 termAtt = tokenStream.getAttribute(CharTermAttribute.class);
48 assertTrue(tokenStream.incrementToken());
49 assertEquals("SimpleAnalyzer lowercases",