示例#1
0
        public virtual void TestForwardOffsets()
        {
            int num = AtLeast(10000);

            for (int i = 0; i < num; i++)
            {
                string         s              = TestUtil.RandomHtmlishString(Random, 20);
                StringReader   reader         = new StringReader(s);
                MockCharFilter charfilter     = new MockCharFilter(reader, 2);
                MockAnalyzer   analyzer       = new MockAnalyzer(Random);
                Exception      priorException = null;
                TokenStream    ts             = analyzer.GetTokenStream("bogus", charfilter.m_input);
                try
                {
                    ts.Reset();
                    while (ts.IncrementToken())
                    {
                        ;
                    }
                    ts.End();
                }
                catch (Exception e)
                {
                    priorException = e;
                }
                finally
                {
                    IOUtils.DisposeWhileHandlingException(priorException, ts);
                }
            }
        }
示例#2
0
        public virtual void TestLUCENE_3042()
        {
            string testString = "t";

            Analyzer    analyzer       = new MockAnalyzer(Random);
            Exception   priorException = null;
            TokenStream stream         = analyzer.GetTokenStream("dummy", new StringReader(testString));

            try
            {
                stream.Reset();
                while (stream.IncrementToken())
                {
                    // consume
                }
                stream.End();
            }
            catch (Exception e)
            {
                priorException = e;
            }
            finally
            {
                IOUtils.DisposeWhileHandlingException(priorException, stream);
            }

            AssertAnalyzesTo(analyzer, testString, new string[] { "t" });
        }
示例#3
0
        public virtual void TestThreeChars()
        {
            CharacterRunAutomaton single = new CharacterRunAutomaton((new RegExp("...")).ToAutomaton());
            Analyzer a = new MockAnalyzer(Random, single, false);

            AssertAnalyzesTo(a, "foobar", new string[] { "foo", "bar" }, new int[] { 0, 3 }, new int[] { 3, 6 });
            // make sure when last term is a "partial" match that End() is correct
            AssertTokenStreamContents(a.GetTokenStream("bogus", new StringReader("fooba")), new string[] { "foo" }, new int[] { 0 }, new int[] { 3 }, new int[] { 1 }, new int?(5));
            CheckRandomData(Random, a, 100);
        }
示例#4
0
        public void TestLUCENE_3042()
        {
            String testString = "t";

            Analyzer analyzer = new MockAnalyzer(Random);

            using (TokenStream stream = analyzer.GetTokenStream("dummy", testString))
            {
                stream.Reset();
                while (stream.IncrementToken())
                {
                    // consume
                }
                stream.End();
            }

            AssertAnalyzesTo(analyzer, testString, new String[] { "t" });
        }
示例#5
0
        public void TestForwardOffsets()
        {
            int num = AtLeast(1000);

            for (int i = 0; i < num; i++)
            {
                String         s          = TestUtil.RandomHtmlishString(Random, 20);
                StringReader   reader     = new StringReader(s);
                MockCharFilter charfilter = new MockCharFilter(reader, 2);
                MockAnalyzer   analyzer   = new MockAnalyzer(Random);
                using TokenStream ts = analyzer.GetTokenStream("bogus", charfilter);
                ts.Reset();
                while (ts.IncrementToken())
                {
                    ;
                }
                ts.End();
            }
        }
示例#6
0
        public void TestTwoChars()
        {
            CharacterRunAutomaton single =
                new CharacterRunAutomaton(new RegExp("..").ToAutomaton());
            Analyzer a = new MockAnalyzer(Random, single, false);

            AssertAnalyzesTo(a, "foobar",
                             new String[] { "fo", "ob", "ar" },
                             new int[] { 0, 2, 4 },
                             new int[] { 2, 4, 6 }
                             );
            // make sure when last term is a "partial" match that end() is correct
            AssertTokenStreamContents(a.GetTokenStream("bogus", "fooba"),
                                      new String[] { "fo", "ob" },
                                      new int[] { 0, 2 },
                                      new int[] { 2, 4 },
                                      new int[] { 1, 1 },
                                      5
                                      );
            CheckRandomData(Random, a, 100);
        }