import java.util.Date;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
true, data.trim().equals(result.trim()));
result = StringUtils.padString(data, size, false,
- Alignment.End);
+ Alignment.RIGHT);
if (size > data.length()) {
assertEquals(
"Padding a String to the end should work as expected",
}
result = StringUtils.padString(data, size, false,
- Alignment.Center);
+ Alignment.JUSTIFY);
+ if (size > data.length()) {
+ String unspacedData = data.trim();
+ String unspacedResult = result.trim();
+ for (int i = 0; i < size; i++) {
+ unspacedData = unspacedData.replace(" ", " ");
+ unspacedResult = unspacedResult.replace(" ",
+ " ");
+ }
+
+ assertEquals(
+ "Justified text trimmed with all spaces collapsed "
+ + "sould be identical to original text "
+ + "trimmed with all spaces collapsed",
+ unspacedData, unspacedResult);
+ }
+
+ result = StringUtils.padString(data, size, false,
+ Alignment.CENTER);
if (size > data.length()) {
int before = 0;
for (int i = 0; i < result.length()
}
});
+ addTest(new TestCase("Justifying") {
+ @Override
+ public void test() throws Exception {
+ for (String data : new String[] { "test",
+ "let's test some words", "" }) {
+ int total = 0;
+ for (String word : data.split((" "))) {
+ total += word.replace("-", "").replace(" ", "")
+ .length();
+ }
+ List<String> result = StringUtils.justifyText(data, 5,
+ StringUtils.Alignment.LEFT);
+
+ System.out.println("["+data+"] -> [");
+
+ int totalResult = 0;
+ for (String resultLine : result) {
+ System.out.println(resultLine);
+ for (String word : resultLine.split((" "))) {
+ totalResult += word.replace("-", "")
+ .replace(" ", "").length();
+ }
+ }
+ System.out.println("]");
+
+ assertEquals(
+ "The number of letters ('-' not included) should be identical before and after",
+ total, totalResult);
+ }
+ }
+ });
+
addTest(new TestCase("unhtml") {
@Override
public void test() throws Exception {