BUG: Lucene.Net.TestFramework.Analysis.MockCharFilter: Corrected implementation 
of both the filter and its test to make it pass.


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/3c1f50bb
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/3c1f50bb
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/3c1f50bb

Branch: refs/heads/api-work
Commit: 3c1f50bb908323bfe24c69f5d00385fe6058f09e
Parents: ae7ddb4
Author: Shad Storhaug <[email protected]>
Authored: Wed Mar 22 06:20:03 2017 +0700
Committer: Shad Storhaug <[email protected]>
Committed: Wed Mar 22 06:20:03 2017 +0700

----------------------------------------------------------------------
 .../Analysis/MockCharFilter.cs                    |  9 ++++++++-
 .../Analysis/TestMockCharFilter.cs                | 18 +++++++++++++++---
 2 files changed, 23 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3c1f50bb/src/Lucene.Net.TestFramework/Analysis/MockCharFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Analysis/MockCharFilter.cs 
b/src/Lucene.Net.TestFramework/Analysis/MockCharFilter.cs
index 7858850..807b04d 100644
--- a/src/Lucene.Net.TestFramework/Analysis/MockCharFilter.cs
+++ b/src/Lucene.Net.TestFramework/Analysis/MockCharFilter.cs
@@ -89,7 +89,14 @@ namespace Lucene.Net.Analysis
         public override int Read(char[] cbuf, int off, int len)
         {
             // Java returns -1, maintain compat.
-            int numRead = base.Read(cbuf, off, len);
+            int numRead = 0;
+            for (int i = off; i < off + len; i++)
+            {
+                int c = Read();
+                if (c == -1) break;
+                cbuf[i] = (char)c;
+                numRead++;
+            }
             return numRead == 0 ? -1 : numRead;
         }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/3c1f50bb/src/Lucene.Net.Tests/Analysis/TestMockCharFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Analysis/TestMockCharFilter.cs 
b/src/Lucene.Net.Tests/Analysis/TestMockCharFilter.cs
index 75fc8cd..76fdabd 100644
--- a/src/Lucene.Net.Tests/Analysis/TestMockCharFilter.cs
+++ b/src/Lucene.Net.Tests/Analysis/TestMockCharFilter.cs
@@ -28,11 +28,23 @@ namespace Lucene.Net.Analysis
         {
             Analyzer analyzer = new AnalyzerAnonymousInnerClassHelper(this);
 
-            AssertAnalyzesTo(analyzer, "aab", new string[] { "aab" }, new 
int[] { 0 }, new int[] { 3 });
+            AssertAnalyzesTo(analyzer, "ab",
+                new string[] { "aab" },
+                new int[] { 0 },
+                new int[] { 2 }
+            );
 
-            AssertAnalyzesTo(analyzer, "aabaa", new string[] { "aabaa" }, new 
int[] { 0 }, new int[] { 5 });
+            AssertAnalyzesTo(analyzer, "aba",
+                new string[] { "aabaa" },
+                new int[] { 0 },
+                new int[] { 3 }
+            );
 
-            AssertAnalyzesTo(analyzer, "aabcdefgaa", new string[] { 
"aabcdefgaa" }, new int[] { 0 }, new int[] { 10 });
+            AssertAnalyzesTo(analyzer, "abcdefga",
+                new string[] { "aabcdefgaa" },
+                new int[] { 0 },
+                new int[] { 8 }
+            );
         }
 
         private class AnalyzerAnonymousInnerClassHelper : Analyzer

Reply via email to