mirror of
https://github.com/corda/corda.git
synced 2024-12-29 09:18:58 +00:00
9bb3d6b972
git-subtree-dir: sgx-jvm/avian git-subtree-mainline:f978eab8d1
git-subtree-split:09e4fe60d0
66 lines
1.8 KiB
Java
66 lines
1.8 KiB
Java
|
|
public class StringBuilderTest {
|
|
private static final int iterations = 1000;
|
|
|
|
public static void main(String[] args) {
|
|
verifyAppendStrLength();
|
|
verifyAppendCharLength();
|
|
verifySubstring();
|
|
}
|
|
|
|
private static void verify(String srcStr, int iterations, String result) {
|
|
int expectedLength = srcStr.length() * iterations;
|
|
if (result.length() != expectedLength) {
|
|
throw new IllegalStateException("Incorrect length: " + result.length() + " vs " + expectedLength);
|
|
}
|
|
}
|
|
|
|
private static void verify(String expected, String actual) {
|
|
if (! expected.equals(actual)) {
|
|
throw new IllegalStateException("Strings don't match, expected: " + expected + ", actual: " + actual);
|
|
}
|
|
}
|
|
|
|
private static void verifyAppendStrLength() {
|
|
String fooStr = "foobar";
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
for (int i = 0; i < iterations; i++) {
|
|
sb.append(fooStr);
|
|
}
|
|
String result = sb.toString();
|
|
|
|
verify(fooStr, iterations, result);
|
|
}
|
|
|
|
private static void verifyAppendCharLength() {
|
|
int iterations = 5000;
|
|
String fooStr = "foobar";
|
|
char[] fooChars = new char[fooStr.length()];
|
|
fooStr.getChars(0, fooStr.length(), fooChars, 0);
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
for (int i = 0; i < iterations; i++) {
|
|
for (int j = 0; j < fooChars.length; j++) {
|
|
sb.append(fooChars[j]);
|
|
}
|
|
}
|
|
String result = sb.toString();
|
|
|
|
verify(fooStr, iterations, result);
|
|
}
|
|
|
|
private static void verifySubstring() {
|
|
String fooStr = "foobar";
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append(fooStr);
|
|
sb.append(fooStr);
|
|
|
|
String beginingSubString = sb.substring(0, fooStr.length());
|
|
verify(fooStr, beginingSubString);
|
|
|
|
String endSubString = sb.substring(fooStr.length());
|
|
verify(fooStr, endSubString);
|
|
}
|
|
}
|