1 # ====================================================================
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at
6 # http://www.apache.org/licenses/LICENSE-2.0
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13 # ====================================================================
15 from unittest import TestCase, main
19 class PerFieldAnalyzerTestCase(TestCase):
21 Unit tests ported from Java Lucene
24 def testPerField(self):
27 analyzer = PerFieldAnalyzerWrapper(WhitespaceAnalyzer())
28 analyzer.addAnalyzer("special", SimpleAnalyzer())
30 tokenStream = analyzer.tokenStream("field", StringReader(text))
31 termAtt = tokenStream.getAttribute(TermAttribute.class_)
33 self.assert_(tokenStream.incrementToken())
34 self.assertEqual("Qwerty", termAtt.term(),
35 "WhitespaceAnalyzer does not lowercase")
37 tokenStream = analyzer.tokenStream("special", StringReader(text))
38 termAtt = tokenStream.getAttribute(TermAttribute.class_)
39 self.assert_(tokenStream.incrementToken())
40 self.assertEqual("qwerty", termAtt.term(),
41 "SimpleAnalyzer lowercases")
44 if __name__ == "__main__":
47 if '-loop' in sys.argv:
48 sys.argv.remove('-loop')