Exemplo n.º 1
0
        public virtual void TestLowerCaseFilterLowSurrogateLeftover()
        {
            // test if the limit of the termbuffer is correctly used with supplementary
            // chars
            WhitespaceTokenizer tokenizer = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader("BogustermBogusterm\udc16"));
            LowerCaseFilter     filter    = new LowerCaseFilter(TEST_VERSION_CURRENT, tokenizer);

            AssertTokenStreamContents(filter, new string[] { "bogustermbogusterm\udc16" });
            filter.Reset();
            string highSurEndingUpper = "BogustermBoguster\ud801";
            string highSurEndingLower = "bogustermboguster\ud801";

            tokenizer.SetReader(new StringReader(highSurEndingUpper));
            AssertTokenStreamContents(filter, new string[] { highSurEndingLower });
            assertTrue(filter.HasAttribute <ICharTermAttribute>());
            char[] termBuffer = filter.GetAttribute <ICharTermAttribute>().Buffer;
            int    length     = highSurEndingLower.Length;

            assertEquals('\ud801', termBuffer[length - 1]);
        }
Exemplo n.º 2
0
 public virtual void TestLowerCaseFilterLowSurrogateLeftover()
 {
     // test if the limit of the termbuffer is correctly used with supplementary
     // chars
     WhitespaceTokenizer tokenizer = new WhitespaceTokenizer(TEST_VERSION_CURRENT, new StringReader("BogustermBogusterm\udc16"));
     LowerCaseFilter filter = new LowerCaseFilter(TEST_VERSION_CURRENT, tokenizer);
     AssertTokenStreamContents(filter, new string[] { "bogustermbogusterm\udc16" });
     filter.Reset();
     string highSurEndingUpper = "BogustermBoguster\ud801";
     string highSurEndingLower = "bogustermboguster\ud801";
     tokenizer.Reader = new StringReader(highSurEndingUpper);
     AssertTokenStreamContents(filter, new string[] { highSurEndingLower });
     assertTrue(filter.HasAttribute<ICharTermAttribute>());
     char[] termBuffer = filter.GetAttribute<ICharTermAttribute>().Buffer();
     int length = highSurEndingLower.Length;
     assertEquals('\ud801', termBuffer[length - 1]);
 }