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
