Unit tests for StringBuilderUtils, fixing trim method in StringBuilderUtils
This commit is contained in:
parent
8f9a145e04
commit
fe7dc75973
@ -14,8 +14,8 @@ public class StringBuilderUtils {
|
|||||||
private static final String EMPTY = "";
|
private static final String EMPTY = "";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Replace a string in a string
|
* Replace the first string found in a
|
||||||
* builder with another string.
|
* string builder with another string.
|
||||||
*
|
*
|
||||||
* @param stringBuilder the string builder.
|
* @param stringBuilder the string builder.
|
||||||
* @param toReplace the string to replace.
|
* @param toReplace the string to replace.
|
||||||
@ -42,7 +42,7 @@ public class StringBuilderUtils {
|
|||||||
stringBuilder.replace(0, 1, EMPTY);
|
stringBuilder.replace(0, 1, EMPTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (stringBuilder.lastIndexOf(SPACE) == (stringBuilder.length() - 1)) {
|
while (stringBuilder.lastIndexOf(SPACE) == (stringBuilder.length() - 1) && stringBuilder.length() > 0) {
|
||||||
stringBuilder.replace(stringBuilder.length() - 1, stringBuilder.length(), EMPTY);
|
stringBuilder.replace(stringBuilder.length() - 1, stringBuilder.length(), EMPTY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,118 @@
|
|||||||
|
package acr.browser.lightning.utils;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests for {@link StringBuilderUtils}.
|
||||||
|
*/
|
||||||
|
public class StringBuilderUtilsTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void replace_SingleCharacter() {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder("abbbaacccda");
|
||||||
|
StringBuilderUtils.replace(stringBuilder, "a", "");
|
||||||
|
Assert.assertEquals(stringBuilder.toString(), "bbbaacccda");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void replace_MultipleCharacters() {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder("___ab___cd___");
|
||||||
|
StringBuilderUtils.replace(stringBuilder, "___", "---");
|
||||||
|
Assert.assertEquals(stringBuilder.toString(), "---ab___cd___");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void trim_LeadingAndTrailingSpaces() {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder(" t e s t ");
|
||||||
|
StringBuilderUtils.trim(stringBuilder);
|
||||||
|
Assert.assertEquals(stringBuilder.toString(), "t e s t");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void trim_OnlyContainsSpaces() {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder(" ");
|
||||||
|
Assert.assertFalse(stringBuilder.toString().isEmpty());
|
||||||
|
StringBuilderUtils.trim(stringBuilder);
|
||||||
|
Assert.assertTrue(stringBuilder.toString().isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isEmpty_HasNoCharacters() {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder("");
|
||||||
|
Assert.assertTrue(StringBuilderUtils.isEmpty(stringBuilder));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isEmpty_HasCharacters() {
|
||||||
|
// Case with normal letters
|
||||||
|
StringBuilder stringBuilder = new StringBuilder("abcdefg");
|
||||||
|
Assert.assertFalse(StringBuilderUtils.isEmpty(stringBuilder));
|
||||||
|
|
||||||
|
// Case with empty spaces
|
||||||
|
StringBuilder stringBuilder1 = new StringBuilder(" ");
|
||||||
|
Assert.assertFalse(StringBuilderUtils.isEmpty(stringBuilder1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void startsWith_SingleCharacter() {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder("1234567890");
|
||||||
|
Assert.assertTrue(StringBuilderUtils.startsWith(stringBuilder, "1"));
|
||||||
|
Assert.assertFalse(StringBuilderUtils.startsWith(stringBuilder, "2"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void startsWith_MultipleCharacters() {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder("1234567890");
|
||||||
|
Assert.assertTrue(StringBuilderUtils.startsWith(stringBuilder, "12345"));
|
||||||
|
Assert.assertFalse(StringBuilderUtils.startsWith(stringBuilder, "23456"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void contains_SingleCharacter() {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder("abcdefg123456");
|
||||||
|
|
||||||
|
// This character is not in the string
|
||||||
|
Assert.assertFalse(StringBuilderUtils.contains(stringBuilder, "z"));
|
||||||
|
|
||||||
|
// All these characters are in the string
|
||||||
|
for (int n = 0; n < stringBuilder.length(); n++) {
|
||||||
|
Assert.assertTrue(StringBuilderUtils.contains(stringBuilder, String.valueOf(stringBuilder.charAt(n))));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void contains_MultipleCharacters() {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder("abcdefg123456");
|
||||||
|
|
||||||
|
// Should return false since characters are in reverse order
|
||||||
|
Assert.assertFalse(StringBuilderUtils.contains(stringBuilder, "cba"));
|
||||||
|
|
||||||
|
// Should return false since characters are not in string
|
||||||
|
Assert.assertFalse(StringBuilderUtils.contains(stringBuilder, "zyx"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void equals_SameCharacters() {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder("abcdefg");
|
||||||
|
|
||||||
|
Assert.assertTrue(StringBuilderUtils.equals(stringBuilder, "abcdefg"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void equals_DifferentCharacters() {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder("abcdefg");
|
||||||
|
|
||||||
|
Assert.assertFalse(StringBuilderUtils.equals(stringBuilder, "abcdefg1"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void substring() {
|
||||||
|
StringBuilder stringBuilder = new StringBuilder("abcdefg");
|
||||||
|
|
||||||
|
String string = "abcdefg";
|
||||||
|
|
||||||
|
Assert.assertEquals(StringBuilderUtils.substring(stringBuilder, 1, 5).toString(), string.substring(1, 5));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user