You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
4.0 KiB
118 lines
4.0 KiB
package org.purplei2p.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)); |
|
} |
|
|
|
} |