You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2020/07/03 15:21:35 UTC

[commons-text] branch master updated (48185ff -> 9229acf)

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

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


    from 48185ff  Use assertThrows() instead of boilerpate over and over.
     new 83ea37a  Use assertArrayEquals().
     new 2f3a058  Use assertArrayEquals().
     new 9229acf  Add org.apache.commons.text.TextStringBuilder.set(String)

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/changes/changes.xml                            | 11 ++-
 .../org/apache/commons/text/TextStringBuilder.java | 50 +++++++++++
 .../org/apache/commons/text/StrBuilderTest.java    | 20 ++---
 .../apache/commons/text/TextStringBuilderTest.java | 96 +++++++++++++++-------
 4 files changed, 135 insertions(+), 42 deletions(-)


[commons-text] 03/03: Add org.apache.commons.text.TextStringBuilder.set(String)

Posted by gg...@apache.org.
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

commit 9229acfc98a6f20fc6803f7d545ca4dd0cc271e9
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Fri Jul 3 11:21:27 2020 -0400

    Add org.apache.commons.text.TextStringBuilder.set(String)
    
    Add org.apache.commons.text.TextStringBuilder.getCharsDelete(int, int,
    char[]. int).
    
    Add org.apache.commons.text.TextStringBuilder.isNotEmpty().
---
 src/changes/changes.xml                            | 11 ++--
 .../org/apache/commons/text/TextStringBuilder.java | 50 ++++++++++++++++
 .../apache/commons/text/TextStringBuilderTest.java | 70 +++++++++++++++++-----
 3 files changed, 112 insertions(+), 19 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 22bb084..427e475 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -53,19 +53,22 @@ 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" due-to="Gary Gregory">Add BiStringLookup and implementation BiFunctionStringLookup.</action>
+    <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.lookup.StringLookupFactory.functionStringLookup(Function&lt;String, V&gt;).</action>
     <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, int).</action>
     <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence, int, int, int).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.lookup.StringLookupFactory.functionStringLookup(Function&lt;String, V&gt;).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add BiStringLookup and implementation BiFunctionStringLookup.</action>
+    <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.matcher.StringMatcherFactory.stringMatcher(char...).</action>
     <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.TextStringBuilder.toString(int, int).</action>
     <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.TextStringBuilder.readFrom(Reader, int).</action>
     <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.TextStringBuilder.charAtDelete(int).</action>
+    <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.TextStringBuilder.isNotEmpty().</action>
     <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.TextStringBuilder.TextStringBuilder(CharSequence).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.matcher.StringMatcherFactory.stringMatcher(char...).</action>
     <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.TextStringBuilder.wrap(char[]).</action>
     <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.TextStringBuilder.wrap(char[], int).</action>
-    <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.StringSubstitutor.StringSubstitutor(StringSubstitutor).</action>
     <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.TextStringBuilder.isReallocated().</action>
+    <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.TextStringBuilder.set(String).</action>
+    <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.TextStringBuilder.getCharsDelete(int, int, char[]. int).</action>
+    <action                  type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.text.StringSubstitutor.StringSubstitutor(StringSubstitutor).</action>
     <action                  type="update" dev="ggregory" due-to="Gary Gregory">[build] Skip clirr since we use JApiCmp.</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>
diff --git a/src/main/java/org/apache/commons/text/TextStringBuilder.java b/src/main/java/org/apache/commons/text/TextStringBuilder.java
index 6298132..d178a31 100644
--- a/src/main/java/org/apache/commons/text/TextStringBuilder.java
+++ b/src/main/java/org/apache/commons/text/TextStringBuilder.java
@@ -1896,6 +1896,27 @@ public class TextStringBuilder implements CharSequence, Appendable, Serializable
     }
 
     /**
+     * Copies this character array into the specified array and then deletes those character from this source.
+     *
+     * @param startIndex first index to copy, inclusive.
+     * @param endIndex last index, exclusive.
+     * @param target the target array, must not be null or too small
+     * @param targetIndex the index to start copying in target
+     * @return How many characters where deleted. If this builder is empty, return 0.
+     * @since 1.9
+     */
+    public int getCharsDelete(final int startIndex, final int endIndex, final char[] target, final int targetIndex) {
+        final int length = endIndex - startIndex;
+        if (isEmpty() || length == 0) {
+            return 0;
+        }
+        final int actualLen = Math.min(size, length);
+        getChars(startIndex, actualLen, target, targetIndex);
+        delete(startIndex, actualLen);
+        return actualLen;
+    }
+
+    /**
      * Gets the text to be appended when a new line is added.
      *
      * @return The new line text, null means use system default
@@ -2240,6 +2261,19 @@ public class TextStringBuilder implements CharSequence, Appendable, Serializable
     }
 
     /**
+     * Checks is the string builder is not empty.
+     * <p>
+     * This method is the same as checking {@link #length()}.
+     * </p>
+     *
+     * @return {@code true} if the size is not {@code 0}.
+     * @since 1.9
+     */
+    public boolean isNotEmpty() {
+        return size != 0;
+    }
+
+    /**
      * Gets whether the internal buffer has been reallocated.
      *
      * @return Whether the internal buffer has been reallocated.
@@ -2435,6 +2469,7 @@ public class TextStringBuilder implements CharSequence, Appendable, Serializable
         }
         return this;
     }
+
     /**
      * If possible, reads chars from the provided {@link CharBuffer} directly into underlying character buffer without
      * making extra copies.
@@ -2785,6 +2820,21 @@ public class TextStringBuilder implements CharSequence, Appendable, Serializable
     }
 
     /**
+     * Clears and sets this builder to the given value.
+     *
+     * @see #charAt(int)
+     * @see #deleteCharAt(int)
+     * @param str the new value.
+     * @return this, to enable chaining
+     * @since 1.9
+     */
+    public TextStringBuilder set(final CharSequence str) {
+        clear();
+        append(str);
+        return this;
+    }
+
+    /**
      * Sets the character at the specified index.
      *
      * @see #charAt(int)
diff --git a/src/test/java/org/apache/commons/text/TextStringBuilderTest.java b/src/test/java/org/apache/commons/text/TextStringBuilderTest.java
index 3760340..e07d9f1 100644
--- a/src/test/java/org/apache/commons/text/TextStringBuilderTest.java
+++ b/src/test/java/org/apache/commons/text/TextStringBuilderTest.java
@@ -18,7 +18,6 @@
 package org.apache.commons.text;
 
 import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
-import static org.assertj.core.api.Assertions.fail;
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -831,7 +830,7 @@ public class TextStringBuilderTest {
         assertFalse(sb1.equals(sb2));
         assertFalse(sb1.equals((Object) sb2));
 
-        sb2.clear().append("abc");
+        sb2.set("abc");
         assertTrue(sb1.equals(sb2));
         assertTrue(sb1.equals((Object) sb2));
 
@@ -853,12 +852,12 @@ public class TextStringBuilderTest {
         sb2.append("ABC");
         assertTrue(sb1.equalsIgnoreCase(sb2));
 
-        sb2.clear().append("abc");
+        sb2.set("abc");
         assertTrue(sb1.equalsIgnoreCase(sb2));
         assertTrue(sb1.equalsIgnoreCase(sb1));
         assertTrue(sb2.equalsIgnoreCase(sb2));
 
-        sb2.clear().append("aBc");
+        sb2.set("aBc");
         assertTrue(sb1.equalsIgnoreCase(sb2));
     }
 
@@ -891,11 +890,41 @@ public class TextStringBuilderTest {
     }
 
     @Test
+    public void testGetCharsDeleteIntIntCharArrayInt() {
+        final char[] array = new char[5];
+        final TextStringBuilder sb = new TextStringBuilder();
+        // empty buffer
+        assertEquals(0, sb.getCharsDelete(0, 5, array, 1));
+        // empty buffer, 0 length request
+        assertEquals(0, sb.getCharsDelete(5, 5, array, 1));
+
+        final String data = "junit";
+        sb.append(data);
+        assertEquals(0, sb.getCharsDelete(5, 5, array, 1));
+        assertEquals(5, sb.getCharsDelete(0, 5, array, 0));
+        assertArrayEquals(data.toCharArray(), array);
+
+        final char[] b = new char[5];
+        sb.set(data);
+        assertEquals(2, sb.getCharsDelete(0, 2, b, 3));
+        assertArrayEquals(new char[] {0, 0, 0, 'j', 'u'}, b);
+
+        assertThrows(IndexOutOfBoundsException.class, () -> sb.getCharsDelete(-1, 0, b, 0));
+        assertThrows(IndexOutOfBoundsException.class, () -> sb.getCharsDelete(0, -1, array, 0));
+        assertThrows(IndexOutOfBoundsException.class, () -> sb.getCharsDelete(4, 2, array, 0));
+
+        sb.set(data);
+        // get and delete it all.
+        assertEquals(data.length(), sb.getCharsDelete(0, sb.length() + 1, array, 0));
+        assertArrayEquals(data.toCharArray(), array);
+    }
+
+    @Test
     public void testGetCharsIntIntCharArrayInt() {
         final TextStringBuilder sb = new TextStringBuilder();
 
         sb.append("junit");
-        char[] array = new char[5];
+        final char[] array = new char[5];
         sb.getChars(0, 5, array, 0);
         assertArrayEquals(new char[] {'j', 'u', 'n', 'i', 't'}, array);
 
@@ -1132,6 +1161,18 @@ public class TextStringBuilderTest {
     }
 
     @Test
+    public void testIsNotEmpty() {
+        final TextStringBuilder sb = new TextStringBuilder();
+        assertFalse(sb.isNotEmpty());
+
+        sb.append("Hello");
+        assertTrue(sb.isNotEmpty());
+
+        sb.clear();
+        assertFalse(sb.isNotEmpty());
+    }
+
+    @Test
     public void testLang294() {
         final TextStringBuilder sb = new TextStringBuilder("\n%BLAH%\nDo more stuff\neven more stuff\n%BLAH%\n");
         sb.deleteAll("\n%BLAH%");
@@ -1484,7 +1525,7 @@ public class TextStringBuilderTest {
 
     @Test
     public void testReplace_int_int_String() {
-        TextStringBuilder sb = new TextStringBuilder("abc");
+        final TextStringBuilder sb = new TextStringBuilder("abc");
         sb.replace(0, 1, "d");
         assertEquals("dbc", sb.toString());
         sb.replace(0, 1, "aaa");
@@ -1498,7 +1539,7 @@ public class TextStringBuilderTest {
         sb.replace(0, 1000, "text");
         assertEquals("text", sb.toString());
 
-        TextStringBuilder builder = new TextStringBuilder("atext");
+        final TextStringBuilder builder = new TextStringBuilder("atext");
         builder.replace(1, 1, "ny");
         assertEquals("anytext", builder.toString());
 
@@ -1586,7 +1627,7 @@ public class TextStringBuilderTest {
         sb.replace(StringMatcherFactory.INSTANCE.stringMatcher("aa"), "-", 0, 1000, -1);
         assertEquals("-x--y-", sb.toString());
 
-        TextStringBuilder builder = new TextStringBuilder("aaxaaaayaa");
+        final TextStringBuilder builder = new TextStringBuilder("aaxaaaayaa");
         assertThrows(IndexOutOfBoundsException.class,
             () -> builder.replace(StringMatcherFactory.INSTANCE.stringMatcher("aa"), "-", 2, 1, -1));
         assertEquals("aaxaaaayaa", builder.toString());
@@ -1687,8 +1728,7 @@ public class TextStringBuilderTest {
             () -> builder.replace(StringMatcherFactory.INSTANCE.stringMatcher("aa"), "-", 11, builder.length(), -1));
         assertEquals("aaxaaaayaa", builder.toString());
 
-        builder.clear();
-        builder.append("aaxaaaayaa");
+        builder.set("aaxaaaayaa");
         assertThrows(IndexOutOfBoundsException.class,
             () -> builder.replace(StringMatcherFactory.INSTANCE.stringMatcher("aa"), "-", -1, builder.length(), -1));
         assertEquals("aaxaaaayaa", builder.toString());
@@ -2058,19 +2098,19 @@ public class TextStringBuilderTest {
         final TextStringBuilder sb = new TextStringBuilder();
         assertEquals("", sb.reverse().toString());
 
-        sb.clear().append(" \u0000 ");
+        sb.set(" \u0000 ");
         assertEquals("", sb.trim().toString());
 
-        sb.clear().append(" \u0000 a b c");
+        sb.set(" \u0000 a b c");
         assertEquals("a b c", sb.trim().toString());
 
-        sb.clear().append("a b c \u0000 ");
+        sb.set("a b c \u0000 ");
         assertEquals("a b c", sb.trim().toString());
 
-        sb.clear().append(" \u0000 a b c \u0000 ");
+        sb.set(" \u0000 a b c \u0000 ");
         assertEquals("a b c", sb.trim().toString());
 
-        sb.clear().append("a b c");
+        sb.set("a b c");
         assertEquals("a b c", sb.trim().toString());
     }
 


[commons-text] 01/03: Use assertArrayEquals().

Posted by gg...@apache.org.
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

commit 83ea37aeef44e9457237c7318fff866613a5acaf
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Fri Jul 3 09:23:40 2020 -0400

    Use assertArrayEquals().
---
 .../apache/commons/text/TextStringBuilderTest.java | 28 +++++++++++-----------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/src/test/java/org/apache/commons/text/TextStringBuilderTest.java b/src/test/java/org/apache/commons/text/TextStringBuilderTest.java
index a9b3f1a..3760340 100644
--- a/src/test/java/org/apache/commons/text/TextStringBuilderTest.java
+++ b/src/test/java/org/apache/commons/text/TextStringBuilderTest.java
@@ -869,17 +869,17 @@ public class TextStringBuilderTest {
         char[] input = new char[10];
         char[] a = sb.getChars(input);
         assertSame(input, a);
-        assertTrue(Arrays.equals(new char[10], a));
+        assertArrayEquals(new char[10], a);
 
         sb.append("junit");
         a = sb.getChars(input);
         assertSame(input, a);
-        assertTrue(Arrays.equals(new char[] {'j', 'u', 'n', 'i', 't', 0, 0, 0, 0, 0}, a));
+        assertArrayEquals(new char[] {'j', 'u', 'n', 'i', 't', 0, 0, 0, 0, 0}, a);
 
         a = sb.getChars(null);
         assertNotSame(input, a);
         assertEquals(5, a.length);
-        assertTrue(Arrays.equals("junit".toCharArray(), a));
+        assertArrayEquals("junit".toCharArray(), a);
 
         input = new char[5];
         a = sb.getChars(input);
@@ -895,18 +895,18 @@ public class TextStringBuilderTest {
         final TextStringBuilder sb = new TextStringBuilder();
 
         sb.append("junit");
-        char[] a = new char[5];
-        sb.getChars(0, 5, a, 0);
-        assertTrue(Arrays.equals(new char[] {'j', 'u', 'n', 'i', 't'}, a));
+        char[] array = new char[5];
+        sb.getChars(0, 5, array, 0);
+        assertArrayEquals(new char[] {'j', 'u', 'n', 'i', 't'}, array);
 
         final char[] b = new char[5];
         sb.getChars(0, 2, b, 3);
-        assertTrue(Arrays.equals(new char[] {0, 0, 0, 'j', 'u'}, b));
+        assertArrayEquals(new char[] {0, 0, 0, 'j', 'u'}, b);
 
         assertThrows(IndexOutOfBoundsException.class, () -> sb.getChars(-1, 0, b, 0));
-        assertThrows(IndexOutOfBoundsException.class, () -> sb.getChars(0, -1, a, 0));
-        assertThrows(IndexOutOfBoundsException.class, () -> sb.getChars(0, 20, a, 0));
-        assertThrows(IndexOutOfBoundsException.class, () -> sb.getChars(4, 2, a, 0));
+        assertThrows(IndexOutOfBoundsException.class, () -> sb.getChars(0, -1, array, 0));
+        assertThrows(IndexOutOfBoundsException.class, () -> sb.getChars(0, 20, array, 0));
+        assertThrows(IndexOutOfBoundsException.class, () -> sb.getChars(4, 2, array, 0));
     }
 
     @Test
@@ -1987,7 +1987,7 @@ public class TextStringBuilderTest {
         sb.append("junit");
         a = sb.toCharArray();
         assertEquals(5, a.length, "toCharArray() result incorrect length");
-        assertTrue(Arrays.equals("junit".toCharArray(), a), "toCharArray() result does not match");
+        assertArrayEquals("junit".toCharArray(), a, "toCharArray() result does not match");
     }
 
     @Test
@@ -1998,15 +1998,15 @@ public class TextStringBuilderTest {
         sb.append("junit");
         char[] a = sb.toCharArray(0, 20); // too large test
         assertEquals(5, a.length, "toCharArray(int,int) result incorrect length");
-        assertTrue(Arrays.equals("junit".toCharArray(), a), "toCharArray(int,int) result does not match");
+        assertArrayEquals("junit".toCharArray(), a, "toCharArray(int,int) result does not match");
 
         a = sb.toCharArray(0, 4);
         assertEquals(4, a.length, "toCharArray(int,int) result incorrect length");
-        assertTrue(Arrays.equals("juni".toCharArray(), a), "toCharArray(int,int) result does not match");
+        assertArrayEquals("juni".toCharArray(), a, "toCharArray(int,int) result does not match");
 
         a = sb.toCharArray(0, 4);
         assertEquals(4, a.length, "toCharArray(int,int) result incorrect length");
-        assertTrue(Arrays.equals("juni".toCharArray(), a), "toCharArray(int,int) result does not match");
+        assertArrayEquals("juni".toCharArray(), a, "toCharArray(int,int) result does not match");
 
         a = sb.toCharArray(0, 1);
         assertNotNull(a, "toCharArray(int,int) result is null");


[commons-text] 02/03: Use assertArrayEquals().

Posted by gg...@apache.org.
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

commit 2f3a058f7b111bf84c02fa21d00065ca66d5beef
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Fri Jul 3 09:25:01 2020 -0400

    Use assertArrayEquals().
---
 .../java/org/apache/commons/text/StrBuilderTest.java | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/test/java/org/apache/commons/text/StrBuilderTest.java b/src/test/java/org/apache/commons/text/StrBuilderTest.java
index b9c8248..8b78058 100644
--- a/src/test/java/org/apache/commons/text/StrBuilderTest.java
+++ b/src/test/java/org/apache/commons/text/StrBuilderTest.java
@@ -19,6 +19,7 @@ package org.apache.commons.text;
 
 import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
 import static org.assertj.core.api.Assertions.fail;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -36,7 +37,6 @@ import java.io.Writer;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
 import java.nio.charset.Charset;
-import java.util.Arrays;
 
 import org.junit.jupiter.api.Test;
 
@@ -864,17 +864,17 @@ public class StrBuilderTest {
         char[] input = new char[10];
         char[] a = sb.getChars(input);
         assertSame(input, a);
-        assertTrue(Arrays.equals(new char[10], a));
+        assertArrayEquals(new char[10], a);
 
         sb.append("junit");
         a = sb.getChars(input);
         assertSame(input, a);
-        assertTrue(Arrays.equals(new char[] {'j', 'u', 'n', 'i', 't', 0, 0, 0, 0, 0 }, a));
+        assertArrayEquals(new char[] {'j', 'u', 'n', 'i', 't', 0, 0, 0, 0, 0 }, a);
 
         a = sb.getChars(null);
         assertNotSame(input, a);
         assertEquals(5, a.length);
-        assertTrue(Arrays.equals("junit".toCharArray(), a));
+        assertArrayEquals("junit".toCharArray(), a);
 
         input = new char[5];
         a = sb.getChars(input);
@@ -892,11 +892,11 @@ public class StrBuilderTest {
         sb.append("junit");
         char[] a = new char[5];
         sb.getChars(0, 5, a, 0);
-        assertTrue(Arrays.equals(new char[] {'j', 'u', 'n', 'i', 't' }, a));
+        assertArrayEquals(new char[] {'j', 'u', 'n', 'i', 't' }, a);
 
         a = new char[5];
         sb.getChars(0, 2, a, 3);
-        assertTrue(Arrays.equals(new char[] {0, 0, 0, 'j', 'u' }, a));
+        assertArrayEquals(new char[] {0, 0, 0, 'j', 'u' }, a);
 
         try {
             sb.getChars(-1, 0, a, 0);
@@ -1990,7 +1990,7 @@ public class StrBuilderTest {
         sb.append("junit");
         a = sb.toCharArray();
         assertEquals(5, a.length, "toCharArray() result incorrect length");
-        assertTrue(Arrays.equals("junit".toCharArray(), a), "toCharArray() result does not match");
+        assertArrayEquals("junit".toCharArray(), a, "toCharArray() result does not match");
     }
 
     @Test
@@ -2001,15 +2001,15 @@ public class StrBuilderTest {
         sb.append("junit");
         char[] a = sb.toCharArray(0, 20); // too large test
         assertEquals(5, a.length, "toCharArray(int,int) result incorrect length");
-        assertTrue(Arrays.equals("junit".toCharArray(), a), "toCharArray(int,int) result does not match");
+        assertArrayEquals("junit".toCharArray(), a, "toCharArray(int,int) result does not match");
 
         a = sb.toCharArray(0, 4);
         assertEquals(4, a.length, "toCharArray(int,int) result incorrect length");
-        assertTrue(Arrays.equals("juni".toCharArray(), a), "toCharArray(int,int) result does not match");
+        assertArrayEquals("juni".toCharArray(), a, "toCharArray(int,int) result does not match");
 
         a = sb.toCharArray(0, 4);
         assertEquals(4, a.length, "toCharArray(int,int) result incorrect length");
-        assertTrue(Arrays.equals("juni".toCharArray(), a), "toCharArray(int,int) result does not match");
+        assertArrayEquals("juni".toCharArray(), a, "toCharArray(int,int) result does not match");
 
         a = sb.toCharArray(0, 1);
         assertNotNull(a, "toCharArray(int,int) result is null");