This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-text.git


The following commit(s) were added to refs/heads/master by this push:
     new 2b1f1a2  Add isMatch(CharSequence, int)
2b1f1a2 is described below

commit 2b1f1a2c2de194d127deb1ce0ce1047f22316d55
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Fri Jun 26 15:53:27 2020 -0400

    Add isMatch(CharSequence, int)
    
    Add isMatch(CharSequence, int, int, int)
---
 src/changes/changes.xml                            |   2 +
 .../text/matcher/AbstractStringMatcher.java        | 102 +++++++++++++-
 .../apache/commons/text/matcher/StringMatcher.java |  81 +++++++++--
 .../apache/commons/text/StringTokenizerTest.java   |   6 +
 ...Test.java => StringMatcherOnCharArrayTest.java} |   2 +-
 ... => StringMatcherOnCharSequenceStringTest.java} | 152 ++++++++++-----------
 6 files changed, 253 insertions(+), 92 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index b11df51..434c7f6 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -53,6 +53,8 @@ The <action> type attribute can be add,update,fix,remove.
     <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Add StringMatcher.size().</action>
     <action                  type="add" dev="ggregory" due-to="Gary 
Gregory">Refactor TextStringBuilder.readFrom(Readable), extracting 
readFrom(CharBuffer) and readFrom(Reader).</action>    
     <action issue="TEXT-177" type="update" dev="ggregory" due-to="Gary 
Gregory">Update from Apache Commons Lang 3.9 to 3.10.</action>
+    <action                  type="add" dev="ggregory">Add 
org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, 
int).</action>
+    <action                  type="add" dev="ggregory">Add 
org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, int, int, 
int).</action>
     <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[test] junit-jupiter 5.5.1 -> 5.5.2.</action>
     <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[test] org.assertj:assertj-core 3.13.2 -> 3.16.1.</action>
     <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">[build] com.puppycrawl.tools:checkstyle 8.23 -> 8.27.</action>
diff --git 
a/src/main/java/org/apache/commons/text/matcher/AbstractStringMatcher.java 
b/src/main/java/org/apache/commons/text/matcher/AbstractStringMatcher.java
index 043a0d8..a9e62a4 100644
--- a/src/main/java/org/apache/commons/text/matcher/AbstractStringMatcher.java
+++ b/src/main/java/org/apache/commons/text/matcher/AbstractStringMatcher.java
@@ -63,6 +63,20 @@ abstract class AbstractStringMatcher implements 
StringMatcher {
         }
 
         /**
+         * Returns {@code 1} if there is a match, or {@code 0} if there is no 
match.
+         *
+         * @param buffer the text content to match against, do not change
+         * @param start the starting position for the match, valid for buffer
+         * @param bufferStart unused
+         * @param bufferEnd unused
+         * @return The number of matching characters, zero for no match
+         */
+        @Override
+        public int isMatch(final CharSequence buffer, final int start, final 
int bufferStart, final int bufferEnd) {
+            return ch == buffer.charAt(start) ? 1 : 0;
+        }
+
+        /**
          * Returns 1.
          *
          * @since 1.9
@@ -107,6 +121,20 @@ abstract class AbstractStringMatcher implements 
StringMatcher {
         }
 
         /**
+         * Returns {@code 1} if there is a match, or {@code 0} if there is no 
match.
+         *
+         * @param buffer the text content to match against, do not change
+         * @param start the starting position for the match, valid for buffer
+         * @param bufferStart unused
+         * @param bufferEnd unused
+         * @return The number of matching characters, zero for no match
+         */
+        @Override
+        public int isMatch(final CharSequence buffer, final int start, final 
int bufferStart, final int bufferEnd) {
+            return Arrays.binarySearch(chars, buffer.charAt(start)) >= 0 ? 1 : 
0;
+        }
+
+        /**
          * Returns 1.
          *
          * @since 1.9
@@ -145,6 +173,20 @@ abstract class AbstractStringMatcher implements 
StringMatcher {
         }
 
         /**
+         * Always returns {@code 0}.
+         *
+         * @param buffer unused
+         * @param start unused
+         * @param bufferStart unused
+         * @param bufferEnd unused
+         * @return The number of matching characters, zero for no match
+         */
+        @Override
+        public int isMatch(final CharSequence buffer, final int start, final 
int bufferStart, final int bufferEnd) {
+            return 0;
+        }
+
+        /**
          * Returns 0.
          *
          * @since 1.9
@@ -198,9 +240,28 @@ abstract class AbstractStringMatcher implements 
StringMatcher {
             return len;
         }
 
+        /**
+         * Returns the number of matching characters, {@code 0} if there is no 
match.
+         *
+         * @param buffer the text content to match against, do not change
+         * @param start the starting position for the match, valid for buffer
+         * @param bufferStart unused
+         * @param bufferEnd the end index of the active buffer, valid for 
buffer
+         * @return The number of matching characters, zero for no match
+         */
         @Override
-        public String toString() {
-            return super.toString() + ' ' + Arrays.toString(chars);
+        public int isMatch(final CharSequence buffer, final int start, final 
int bufferStart, final int bufferEnd) {
+            final int len = size();
+            if (start + len > bufferEnd) {
+                return 0;
+            }
+            int j = start;
+            for (int i = 0; i < len; i++, j++) {
+                if (chars[i] != buffer.charAt(j)) {
+                    return 0;
+                }
+            }
+            return len;
         }
 
         /**
@@ -213,6 +274,11 @@ abstract class AbstractStringMatcher implements 
StringMatcher {
             return chars.length;
         }
 
+        @Override
+        public String toString() {
+            return super.toString() + ' ' + Arrays.toString(chars);
+        }
+
     }
 
     /**
@@ -247,6 +313,20 @@ abstract class AbstractStringMatcher implements 
StringMatcher {
         }
 
         /**
+         * Returns {@code 1} if there is a match, or {@code 0} if there is no 
match.
+         *
+         * @param buffer the text content to match against, do not change
+         * @param start the starting position for the match, valid for buffer
+         * @param bufferStart unused
+         * @param bufferEnd unused
+         * @return The number of matching characters, zero for no match
+         */
+        @Override
+        public int isMatch(final CharSequence buffer, final int start, final 
int bufferStart, final int bufferEnd) {
+            return buffer.charAt(start) <= SPACE_INT ? 1 : 0;
+        }
+
+        /**
          * Returns 1.
          *
          * @since 1.9
@@ -258,6 +338,24 @@ abstract class AbstractStringMatcher implements 
StringMatcher {
     }
 
     /**
+     * Green implementation of toCharArray. TODO Reuse Apache Commons Lang 
3.11 when released.
+     *
+     * @param cs the {@code CharSequence} to be processed
+     * @return the resulting char array
+     */
+    static char[] toCharArray(final CharSequence cs) {
+        if (cs instanceof String) {
+            return ((String) cs).toCharArray();
+        }
+        final int sz = cs.length();
+        final char[] array = new char[cs.length()];
+        for (int i = 0; i < sz; i++) {
+            array[i] = cs.charAt(i);
+        }
+        return array;
+    }
+
+    /**
      * Constructor.
      */
     protected AbstractStringMatcher() {
diff --git a/src/main/java/org/apache/commons/text/matcher/StringMatcher.java 
b/src/main/java/org/apache/commons/text/matcher/StringMatcher.java
index 9d14ffd..5cecf0f 100644
--- a/src/main/java/org/apache/commons/text/matcher/StringMatcher.java
+++ b/src/main/java/org/apache/commons/text/matcher/StringMatcher.java
@@ -25,6 +25,56 @@ package org.apache.commons.text.matcher;
 public interface StringMatcher {
 
     /**
+     * Returns the number of matching characters, zero for no match.
+     * <p>
+     * This method is called to check for a match. The parameter {@code pos} 
represents the current position to be
+     * checked in the string {@code buffer} (a character array which must not 
be changed). The API guarantees that
+     * {@code pos} is a valid index for {@code buffer}.
+     * </p>
+     * <p>
+     * The matching code may check one character or many. It may check 
characters preceding {@code pos} as well as those
+     * after.
+     * </p>
+     * <p>
+     * It must return zero for no match, or a positive number if a match was 
found. The number indicates the number of
+     * characters that matched.
+     * </p>
+     *
+     * @param buffer the text content to match against, do not change
+     * @param pos the starting position for the match, valid for buffer
+     * @return The number of matching characters, zero for no match
+     * @since 1.9
+     */
+    default int isMatch(final char[] buffer, final int pos) {
+        return isMatch(buffer, pos, 0, buffer.length);
+    }
+
+    /**
+     * Returns the number of matching characters, zero for no match.
+     * <p>
+     * This method is called to check for a match. The parameter {@code pos} 
represents the current position to be
+     * checked in the string {@code buffer} (a character array which must not 
be changed). The API guarantees that
+     * {@code pos} is a valid index for {@code buffer}.
+     * </p>
+     * <p>
+     * The matching code may check one character or many. It may check 
characters preceding {@code pos} as well as those
+     * after.
+     * </p>
+     * <p>
+     * It must return zero for no match, or a positive number if a match was 
found. The number indicates the number of
+     * characters that matched.
+     * </p>
+     *
+     * @param buffer the text content to match against, do not change
+     * @param pos the starting position for the match, valid for buffer
+     * @return The number of matching characters, zero for no match
+     * @since 1.9
+     */
+    default int isMatch(final CharSequence buffer, final int pos) {
+        return isMatch(buffer, pos, 0, buffer.length());
+    }
+
+    /**
      * Returns the number of matching characters, {@code 0} if there is no 
match.
      * <p>
      * This method is called to check for a match against a source {@code 
buffer}. The parameter {@code start}
@@ -53,30 +103,35 @@ public interface StringMatcher {
     int isMatch(char[] buffer, int start, int bufferStart, int bufferEnd);
 
     /**
-     * Returns the number of matching characters, zero for no match.
+     * Returns the number of matching characters, {@code 0} if there is no 
match.
      * <p>
-     * This method is called to check for a match. The parameter {@code pos} 
represents the current position to be
-     * checked in the string {@code buffer} (a character array which must not 
be changed). The API guarantees that
-     * {@code pos} is a valid index for {@code buffer}.
+     * This method is called to check for a match against a source {@code 
buffer}. The parameter {@code start}
+     * represents the start position to be checked in the array {@code buffer} 
(a character array which MUST not be
+     * changed). The implementation SHOULD guarantees that {@code start} is a 
valid index in {@code buffer}.
      * </p>
      * <p>
-     * The matching code may check one character or many. It may check 
characters preceding {@code pos} as well as those
-     * after.
+     * The character array may be larger than the active area to be matched. 
Only values in the buffer between the
+     * specified indices may be accessed, in other words: {@code bufferStart 
<= start < bufferEnd}.
+     * </p>
+     * <p>
+     * The matching code may check one character or many. It may check 
characters preceding {@code start} as well as
+     * those after, so long as no checks exceed the bounds specified.
      * </p>
      * <p>
      * It must return zero for no match, or a positive number if a match was 
found. The number indicates the number of
      * characters that matched.
      * </p>
      *
-     * @param buffer the text content to match against, do not change
-     * @param pos the starting position for the match, valid for buffer
-     * @return The number of matching characters, zero for no match
-     * @since 1.9
+     * @param buffer the source text to search, do not change.
+     * @param start the starting position for the match, valid in {@code 
buffer}.
+     * @param bufferStart the first active index in the buffer, valid in 
{@code buffer}.
+     * @param bufferEnd the end index (exclusive) of the active buffer, valid 
in {@code buffer}.
+     * @return The number of matching characters, zero if there is no match.
      */
-    default int isMatch(final char[] buffer, final int pos) {
-        return isMatch(buffer, pos, 0, buffer.length);
+    default int isMatch(final CharSequence buffer, final int start, final int 
bufferStart, final int bufferEnd) {
+        return isMatch(AbstractStringMatcher.toCharArray(buffer), start, 
bufferEnd, bufferEnd);
     }
-    
+
     /**
      * Returns the size of the matching string. Defaults to 0.
      *
diff --git a/src/test/java/org/apache/commons/text/StringTokenizerTest.java 
b/src/test/java/org/apache/commons/text/StringTokenizerTest.java
index b4ec07a..819ec89 100644
--- a/src/test/java/org/apache/commons/text/StringTokenizerTest.java
+++ b/src/test/java/org/apache/commons/text/StringTokenizerTest.java
@@ -673,6 +673,7 @@ public class StringTokenizerTest {
     public void testConstructor_String_char() {
         StringTokenizer tok = new StringTokenizer("a b", ' ');
         assertEquals(1, tok.getDelimiterMatcher().isMatch(" ".toCharArray(), 
0, 0, 1));
+        assertEquals(1, tok.getDelimiterMatcher().isMatch(" ", 0, 0, 1));
         assertEquals("a", tok.next());
         assertEquals("b", tok.next());
         assertFalse(tok.hasNext());
@@ -689,7 +690,9 @@ public class StringTokenizerTest {
     public void testConstructor_String_char_char() {
         StringTokenizer tok = new StringTokenizer("a b", ' ', '"');
         assertEquals(1, tok.getDelimiterMatcher().isMatch(" ".toCharArray(), 
0, 0, 1));
+        assertEquals(1, tok.getDelimiterMatcher().isMatch(" ", 0, 0, 1));
         assertEquals(1, tok.getQuoteMatcher().isMatch("\"".toCharArray(), 0, 
0, 1));
+        assertEquals(1, tok.getQuoteMatcher().isMatch("\"", 0, 0, 1));
         assertEquals("a", tok.next());
         assertEquals("b", tok.next());
         assertFalse(tok.hasNext());
@@ -721,6 +724,7 @@ public class StringTokenizerTest {
     public void testConstructor_charArray_char() {
         StringTokenizer tok = new StringTokenizer("a b".toCharArray(), ' ');
         assertEquals(1, tok.getDelimiterMatcher().isMatch(" ".toCharArray(), 
0, 0, 1));
+        assertEquals(1, tok.getDelimiterMatcher().isMatch(" ", 0, 0, 1));
         assertEquals("a", tok.next());
         assertEquals("b", tok.next());
         assertFalse(tok.hasNext());
@@ -737,7 +741,9 @@ public class StringTokenizerTest {
     public void testConstructor_charArray_char_char() {
         StringTokenizer tok = new StringTokenizer("a b".toCharArray(), ' ', 
'"');
         assertEquals(1, tok.getDelimiterMatcher().isMatch(" ".toCharArray(), 
0, 0, 1));
+        assertEquals(1, tok.getDelimiterMatcher().isMatch(" ", 0, 0, 1));
         assertEquals(1, tok.getQuoteMatcher().isMatch("\"".toCharArray(), 0, 
0, 1));
+        assertEquals(1, tok.getQuoteMatcher().isMatch("\"", 0, 0, 1));
         assertEquals("a", tok.next());
         assertEquals("b", tok.next());
         assertFalse(tok.hasNext());
diff --git 
a/src/test/java/org/apache/commons/text/matcher/StringMatcherTest.java 
b/src/test/java/org/apache/commons/text/matcher/StringMatcherOnCharArrayTest.java
similarity index 99%
copy from src/test/java/org/apache/commons/text/matcher/StringMatcherTest.java
copy to 
src/test/java/org/apache/commons/text/matcher/StringMatcherOnCharArrayTest.java
index c96aa75..0a441cb 100644
--- a/src/test/java/org/apache/commons/text/matcher/StringMatcherTest.java
+++ 
b/src/test/java/org/apache/commons/text/matcher/StringMatcherOnCharArrayTest.java
@@ -24,7 +24,7 @@ import org.junit.jupiter.api.Test;
 /**
  * Unit tests for {@link StringMatcher}.
  */
-public class StringMatcherTest {
+public class StringMatcherOnCharArrayTest {
 
     private static final char[] BUFFER1 = "0,1\t2 
3\n\r\f\u0000'\"".toCharArray();
 
diff --git 
a/src/test/java/org/apache/commons/text/matcher/StringMatcherTest.java 
b/src/test/java/org/apache/commons/text/matcher/StringMatcherOnCharSequenceStringTest.java
similarity index 87%
rename from src/test/java/org/apache/commons/text/matcher/StringMatcherTest.java
rename to 
src/test/java/org/apache/commons/text/matcher/StringMatcherOnCharSequenceStringTest.java
index c96aa75..af1f995 100644
--- a/src/test/java/org/apache/commons/text/matcher/StringMatcherTest.java
+++ 
b/src/test/java/org/apache/commons/text/matcher/StringMatcherOnCharSequenceStringTest.java
@@ -24,22 +24,22 @@ import org.junit.jupiter.api.Test;
 /**
  * Unit tests for {@link StringMatcher}.
  */
-public class StringMatcherTest {
+public class StringMatcherOnCharSequenceStringTest {
 
-    private static final char[] BUFFER1 = "0,1\t2 
3\n\r\f\u0000'\"".toCharArray();
+    private static final String BUFFER1 = "0,1\t2 3\n\r\f\u0000'\"";
 
-    private static final char[] BUFFER2 = "abcdef".toCharArray();
+    private static final String BUFFER2 = "abcdef";
 
     @Test
     public void testCharMatcher_char() {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.charMatcher('c');
         assertEquals(1, matcher.size());
-        assertThat(matcher.isMatch(BUFFER2, 0, 0, 
BUFFER2.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER2, 1, 0, 
BUFFER2.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER2, 2, 0, 
BUFFER2.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER2, 3, 0, 
BUFFER2.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER2, 4, 0, 
BUFFER2.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER2, 5, 0, 
BUFFER2.length)).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 0, 0, 
BUFFER2.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 1, 0, 
BUFFER2.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 2, 0, 
BUFFER2.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER2, 3, 0, 
BUFFER2.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 4, 0, 
BUFFER2.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 5, 0, 
BUFFER2.length())).isEqualTo(0);
         //
         assertThat(matcher.isMatch(BUFFER2, 0)).isEqualTo(0);
         assertThat(matcher.isMatch(BUFFER2, 1)).isEqualTo(0);
@@ -53,12 +53,12 @@ public class StringMatcherTest {
     public void testCharSetMatcher_charArray() {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.charSetMatcher("ace".toCharArray());
         assertEquals(1, matcher.size());
-        assertThat(matcher.isMatch(BUFFER2, 0, 0, 
BUFFER2.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER2, 1, 0, 
BUFFER2.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER2, 2, 0, 
BUFFER2.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER2, 3, 0, 
BUFFER2.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER2, 4, 0, 
BUFFER2.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER2, 5, 0, 
BUFFER2.length)).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 0, 0, 
BUFFER2.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER2, 1, 0, 
BUFFER2.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 2, 0, 
BUFFER2.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER2, 3, 0, 
BUFFER2.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 4, 0, 
BUFFER2.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER2, 5, 0, 
BUFFER2.length())).isEqualTo(0);
         assertThat(StringMatcherFactory.INSTANCE.charSetMatcher())
                 .isSameAs(StringMatcherFactory.INSTANCE.noneMatcher());
         assertThat(StringMatcherFactory.INSTANCE.charSetMatcher((char[]) null))
@@ -71,12 +71,12 @@ public class StringMatcherTest {
     public void testCharSetMatcher_String() {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.charSetMatcher("ace");
         assertEquals(1, matcher.size());
-        assertThat(matcher.isMatch(BUFFER2, 0, 0, 
BUFFER2.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER2, 1, 0, 
BUFFER2.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER2, 2, 0, 
BUFFER2.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER2, 3, 0, 
BUFFER2.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER2, 4, 0, 
BUFFER2.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER2, 5, 0, 
BUFFER2.length)).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 0, 0, 
BUFFER2.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER2, 1, 0, 
BUFFER2.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 2, 0, 
BUFFER2.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER2, 3, 0, 
BUFFER2.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 4, 0, 
BUFFER2.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER2, 5, 0, 
BUFFER2.length())).isEqualTo(0);
         assertThat(StringMatcherFactory.INSTANCE.charSetMatcher(""))
                 .isSameAs(StringMatcherFactory.INSTANCE.noneMatcher());
         assertThat(StringMatcherFactory.INSTANCE.charSetMatcher((String) null))
@@ -90,9 +90,9 @@ public class StringMatcherTest {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.commaMatcher();
         assertEquals(1, matcher.size());
         
assertThat(StringMatcherFactory.INSTANCE.commaMatcher()).isSameAs(matcher);
-        assertThat(matcher.isMatch(BUFFER1, 0, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 1, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 2, 0, 
BUFFER1.length)).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 0, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 1, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 2, 0, 
BUFFER1.length())).isEqualTo(0);
     }
 
     @Test
@@ -100,8 +100,8 @@ public class StringMatcherTest {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.doubleQuoteMatcher();
         assertEquals(1, matcher.size());
         
assertThat(StringMatcherFactory.INSTANCE.doubleQuoteMatcher()).isSameAs(matcher);
-        assertThat(matcher.isMatch(BUFFER1, 11, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 12, 0, 
BUFFER1.length)).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 11, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 12, 0, 
BUFFER1.length())).isEqualTo(1);
     }
 
     @Test
@@ -111,7 +111,7 @@ public class StringMatcherTest {
         // the concern of StringMatcher, and are not bugs
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.stringMatcher("bc");
         assertEquals(2, matcher.size());
-        assertThat(matcher.isMatch(BUFFER2, 1, 1, 
BUFFER2.length)).isEqualTo(2);
+        assertThat(matcher.isMatch(BUFFER2, 1, 1, 
BUFFER2.length())).isEqualTo(2);
         assertThat(matcher.isMatch(BUFFER2, 1, 0, 3)).isEqualTo(2);
         assertThat(matcher.isMatch(BUFFER2, 1, 0, 2)).isEqualTo(0);
     }
@@ -121,19 +121,19 @@ public class StringMatcherTest {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.noneMatcher();
         assertEquals(0, matcher.size());
         
assertThat(StringMatcherFactory.INSTANCE.noneMatcher()).isSameAs(matcher);
-        assertThat(matcher.isMatch(BUFFER1, 0, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 1, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 2, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 3, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 4, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 5, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 6, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 7, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 8, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 9, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 10, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 11, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 12, 0, 
BUFFER1.length)).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 0, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 1, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 2, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 3, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 4, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 5, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 6, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 7, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 8, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 9, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 10, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 11, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 12, 0, 
BUFFER1.length())).isEqualTo(0);
     }
 
     @Test
@@ -141,9 +141,9 @@ public class StringMatcherTest {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.quoteMatcher();
         assertEquals(1, matcher.size());
         
assertThat(StringMatcherFactory.INSTANCE.quoteMatcher()).isSameAs(matcher);
-        assertThat(matcher.isMatch(BUFFER1, 10, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 11, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 12, 0, 
BUFFER1.length)).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 10, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 11, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 12, 0, 
BUFFER1.length())).isEqualTo(1);
     }
 
     @Test
@@ -151,9 +151,9 @@ public class StringMatcherTest {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.singleQuoteMatcher();
         assertEquals(1, matcher.size());
         
assertThat(StringMatcherFactory.INSTANCE.singleQuoteMatcher()).isSameAs(matcher);
-        assertThat(matcher.isMatch(BUFFER1, 10, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 11, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 12, 0, 
BUFFER1.length)).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 10, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 11, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 12, 0, 
BUFFER1.length())).isEqualTo(0);
     }
 
     @Test
@@ -161,9 +161,9 @@ public class StringMatcherTest {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.spaceMatcher();
         assertEquals(1, matcher.size());
         
assertThat(StringMatcherFactory.INSTANCE.spaceMatcher()).isSameAs(matcher);
-        assertThat(matcher.isMatch(BUFFER1, 4, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 5, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 6, 0, 
BUFFER1.length)).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 4, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 5, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 6, 0, 
BUFFER1.length())).isEqualTo(0);
     }
 
     @Test
@@ -171,27 +171,27 @@ public class StringMatcherTest {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.splitMatcher();
         assertEquals(1, matcher.size());
         
assertThat(StringMatcherFactory.INSTANCE.splitMatcher()).isSameAs(matcher);
-        assertThat(matcher.isMatch(BUFFER1, 2, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 3, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 4, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 5, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 6, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 7, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 8, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 9, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 10, 0, 
BUFFER1.length)).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 2, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 3, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 4, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 5, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 6, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 7, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 8, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 9, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 10, 0, 
BUFFER1.length())).isEqualTo(0);
     }
 
     @Test
     public void testStringMatcher_String() {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.stringMatcher("bc");
         assertEquals(2, matcher.size());
-        assertThat(matcher.isMatch(BUFFER2, 0, 0, 
BUFFER2.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER2, 1, 0, 
BUFFER2.length)).isEqualTo(2);
-        assertThat(matcher.isMatch(BUFFER2, 2, 0, 
BUFFER2.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER2, 3, 0, 
BUFFER2.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER2, 4, 0, 
BUFFER2.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER2, 5, 0, 
BUFFER2.length)).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 0, 0, 
BUFFER2.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 1, 0, 
BUFFER2.length())).isEqualTo(2);
+        assertThat(matcher.isMatch(BUFFER2, 2, 0, 
BUFFER2.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 3, 0, 
BUFFER2.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 4, 0, 
BUFFER2.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER2, 5, 0, 
BUFFER2.length())).isEqualTo(0);
         assertThat(StringMatcherFactory.INSTANCE.stringMatcher(""))
                 .isSameAs(StringMatcherFactory.INSTANCE.noneMatcher());
         assertThat(StringMatcherFactory.INSTANCE.stringMatcher((String) null))
@@ -204,9 +204,9 @@ public class StringMatcherTest {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.tabMatcher();
         assertEquals(1, matcher.size());
         
assertThat(StringMatcherFactory.INSTANCE.tabMatcher()).isSameAs(matcher);
-        assertThat(matcher.isMatch(BUFFER1, 2, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 3, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 4, 0, 
BUFFER1.length)).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 2, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 3, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 4, 0, 
BUFFER1.length())).isEqualTo(0);
     }
 
     @Test
@@ -214,15 +214,15 @@ public class StringMatcherTest {
         final StringMatcher matcher = 
StringMatcherFactory.INSTANCE.trimMatcher();
         assertEquals(1, matcher.size());
         
assertThat(StringMatcherFactory.INSTANCE.trimMatcher()).isSameAs(matcher);
-        assertThat(matcher.isMatch(BUFFER1, 2, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 3, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 4, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 5, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 6, 0, 
BUFFER1.length)).isEqualTo(0);
-        assertThat(matcher.isMatch(BUFFER1, 7, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 8, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 9, 0, 
BUFFER1.length)).isEqualTo(1);
-        assertThat(matcher.isMatch(BUFFER1, 10, 0, 
BUFFER1.length)).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 2, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 3, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 4, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 5, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 6, 0, 
BUFFER1.length())).isEqualTo(0);
+        assertThat(matcher.isMatch(BUFFER1, 7, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 8, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 9, 0, 
BUFFER1.length())).isEqualTo(1);
+        assertThat(matcher.isMatch(BUFFER1, 10, 0, 
BUFFER1.length())).isEqualTo(1);
     }
 
 }

Reply via email to