test: StringFormatter
This commit is contained in:
@@ -13,7 +13,7 @@ public final class StringFormatter {
|
|||||||
private static final char ESCAPE_CHAR = '\\';
|
private static final char ESCAPE_CHAR = '\\';
|
||||||
|
|
||||||
public static String arrayFormat(String messagePattern, Object[] argArray) {
|
public static String arrayFormat(String messagePattern, Object[] argArray) {
|
||||||
if (messagePattern == null) {
|
if (messagePattern == null || messagePattern.equals(EMPTY)) {
|
||||||
return EMPTY;
|
return EMPTY;
|
||||||
} else if (argArray == null) {
|
} else if (argArray == null) {
|
||||||
return messagePattern;
|
return messagePattern;
|
||||||
@@ -30,7 +30,7 @@ public final class StringFormatter {
|
|||||||
if (k == 0) { // this is a simple string
|
if (k == 0) { // this is a simple string
|
||||||
return messagePattern;
|
return messagePattern;
|
||||||
} else { // add the tail string which contains no variables and return
|
} else { // add the tail string which contains no variables and return
|
||||||
// the result.
|
// the result.
|
||||||
sb.append(messagePattern, k, messagePattern.length());
|
sb.append(messagePattern, k, messagePattern.length());
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|||||||
95
src/test/java/ghast/logger/StringFormatterTest.java
Normal file
95
src/test/java/ghast/logger/StringFormatterTest.java
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
package ghast.logger;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
class StringFormatterTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void emptyPattern() {
|
||||||
|
String actual = StringFormatter.arrayFormat(null, null);
|
||||||
|
assertEquals("", actual);
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("", null);
|
||||||
|
assertEquals("", actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void nullArgArray() {
|
||||||
|
String pattern = "some pattern";
|
||||||
|
String actual = StringFormatter.arrayFormat(pattern, null);
|
||||||
|
assertEquals(pattern, actual);
|
||||||
|
|
||||||
|
pattern = "some pattern {}";
|
||||||
|
actual = StringFormatter.arrayFormat(pattern, null);
|
||||||
|
assertEquals(pattern, actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void dummyPattern() {
|
||||||
|
String actual = StringFormatter.arrayFormat("dummy pattern", new Object[]{"argument"});
|
||||||
|
assertEquals("dummy pattern", actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void escapePattern() {
|
||||||
|
String actual = StringFormatter.arrayFormat("Arg1: \\{}", new Object[]{"item1"});
|
||||||
|
assertEquals("Arg1: {}", actual);
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}, \\{}", new Object[]{"item1"});
|
||||||
|
assertEquals("Arg1: item1, \\{}", actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void simpleArg() {
|
||||||
|
String actual;
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{"item1"});
|
||||||
|
assertEquals("Arg1: item1", actual);
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{11});
|
||||||
|
assertEquals("Arg1: 11", actual);
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{11.5f});
|
||||||
|
assertEquals("Arg1: 11.5", actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void nullArg() {
|
||||||
|
String actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{null});
|
||||||
|
assertEquals("Arg1: null", actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void arrayArg() {
|
||||||
|
String actual;
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{new boolean[]{false, true}});
|
||||||
|
assertEquals("Arg1: [false, true]", actual);
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{new byte[]{0b00, 0b01}});
|
||||||
|
assertEquals("Arg1: [0, 1]", actual);
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{new char[]{'c', 'h'}});
|
||||||
|
assertEquals("Arg1: [c, h]", actual);
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{new short[]{11, 12}});
|
||||||
|
assertEquals("Arg1: [11, 12]", actual);
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{new int[]{11, 12}});
|
||||||
|
assertEquals("Arg1: [11, 12]", actual);
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{new long[]{11L, 12L}});
|
||||||
|
assertEquals("Arg1: [11, 12]", actual);
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{new float[]{11.2f, 12.3f}});
|
||||||
|
assertEquals("Arg1: [11.2, 12.3]", actual);
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{new double[]{11.2d, 12.3d}});
|
||||||
|
assertEquals("Arg1: [11.2, 12.3]", actual);
|
||||||
|
|
||||||
|
actual = StringFormatter.arrayFormat("Arg1: {}", new Object[]{new String[]{"str-arr-1", "str-arr-2"}});
|
||||||
|
assertEquals("Arg1: [str-arr-1, str-arr-2]", actual);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user