This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-cli.git
The following commit(s) were added to refs/heads/master by this push:
new e44db7a1 Normalize builder pattern
e44db7a1 is described below
commit e44db7a18ffc31400eeedaea749ac89f9ee654f6
Author: Gary Gregory <[email protected]>
AuthorDate: Wed Oct 16 18:37:13 2024 -0400
Normalize builder pattern
- Add Javadoc
- Don't static import String in tests
- Move factory methods to their home class
---
.../commons/cli/help/AbstractHelpFormatter.java | 16 ++------
.../org/apache/commons/cli/help/HelpFormatter.java | 10 ++---
.../apache/commons/cli/help/OptionFormatter.java | 23 +++++++----
.../commons/cli/help/TextHelpAppendable.java | 12 +++---
.../commons/cli/example/AptHelpAppendable.java | 18 ++++-----
.../commons/cli/example/AptHelpAppendableTest.java | 13 +++----
.../commons/cli/example/XhtmlHelpAppendable.java | 32 ++++++++-------
.../cli/example/XhtmlHelpAppendableTest.java | 13 +++----
.../apache/commons/cli/help/HelpFormatterTest.java | 13 ++++---
.../commons/cli/help/OptionFormatterTest.java | 45 ++++++++++++----------
.../commons/cli/help/TextHelpAppendableTest.java | 10 +++--
.../java/org/apache/commons/cli/help/UtilTest.java | 11 +++---
12 files changed, 110 insertions(+), 106 deletions(-)
diff --git
a/src/main/java/org/apache/commons/cli/help/AbstractHelpFormatter.java
b/src/main/java/org/apache/commons/cli/help/AbstractHelpFormatter.java
index b930944f..93fab755 100644
--- a/src/main/java/org/apache/commons/cli/help/AbstractHelpFormatter.java
+++ b/src/main/java/org/apache/commons/cli/help/AbstractHelpFormatter.java
@@ -54,10 +54,10 @@ public abstract class AbstractHelpFormatter {
private Comparator<Option> comparator = DEFAULT_COMPARATOR;
/** The {@link HelpAppendable} to use */
- private HelpAppendable helpAppendable = defaultTextHelpAppendable();
+ private HelpAppendable helpAppendable = TextHelpAppendable.systemOut();
/** The {@link OptionFormatter.Builder} to use to format options in
the table. */
- private OptionFormatter.Builder optionFormatBuilder =
defaultOptionFormatterBuilder();
+ private OptionFormatter.Builder optionFormatBuilder =
OptionFormatter.builder();
/** The string to separate option groups with */
private String optionGroupSeparator = DEFAULT_OPTION_GROUP_SEPARATOR;
@@ -82,14 +82,6 @@ public abstract class AbstractHelpFormatter {
return (B) this;
}
- protected OptionFormatter.Builder defaultOptionFormatterBuilder() {
- return new OptionFormatter.Builder();
- }
-
- protected TextHelpAppendable defaultTextHelpAppendable() {
- return new TextHelpAppendable(System.out);
- }
-
protected Comparator<Option> getComparator() {
return comparator;
}
@@ -124,7 +116,7 @@ public abstract class AbstractHelpFormatter {
* @return this
*/
public B setHelpAppendable(final HelpAppendable helpAppendable) {
- this.helpAppendable = helpAppendable != null ? helpAppendable :
defaultTextHelpAppendable();
+ this.helpAppendable = helpAppendable != null ? helpAppendable :
TextHelpAppendable.systemOut();
return asThis();
}
@@ -135,7 +127,7 @@ public abstract class AbstractHelpFormatter {
* @return this
*/
public B setOptionFormatBuilder(final OptionFormatter.Builder
optionFormatBuilder) {
- this.optionFormatBuilder = optionFormatBuilder != null ?
optionFormatBuilder : defaultOptionFormatterBuilder();
+ this.optionFormatBuilder = optionFormatBuilder != null ?
optionFormatBuilder : OptionFormatter.builder();
return asThis();
}
diff --git a/src/main/java/org/apache/commons/cli/help/HelpFormatter.java
b/src/main/java/org/apache/commons/cli/help/HelpFormatter.java
index 91c6c8ac..69692dbb 100644
--- a/src/main/java/org/apache/commons/cli/help/HelpFormatter.java
+++ b/src/main/java/org/apache/commons/cli/help/HelpFormatter.java
@@ -85,6 +85,11 @@ public class HelpFormatter extends AbstractHelpFormatter {
// empty
}
+ @Override
+ public HelpFormatter get() {
+ return new HelpFormatter(this);
+ }
+
/**
* Sets the showSince flag.
*
@@ -95,11 +100,6 @@ public class HelpFormatter extends AbstractHelpFormatter {
this.showSince = showSince;
return this;
}
-
- @Override
- public HelpFormatter get() {
- return new HelpFormatter(this);
- }
}
/** Default number of characters per line */
diff --git a/src/main/java/org/apache/commons/cli/help/OptionFormatter.java
b/src/main/java/org/apache/commons/cli/help/OptionFormatter.java
index 66313ecf..c535b284 100644
--- a/src/main/java/org/apache/commons/cli/help/OptionFormatter.java
+++ b/src/main/java/org/apache/commons/cli/help/OptionFormatter.java
@@ -66,7 +66,7 @@ public final class OptionFormatter {
/**
* Default constructor. Uses the defaults specified in {@link
OptionFormatter}.
*/
- public Builder() {
+ private Builder() {
argNameDelimiters = Arrays.copyOf(DEFAULT_ARG_NAME_DELIMITERS, 2);
defaultArgName = DEFAULT_ARG_NAME;
deprecatedFormatFunction = NO_DEPRECATED_FORMAT;
@@ -103,6 +103,12 @@ public final class OptionFormatter {
return new OptionFormatter(option, this);
}
+ @Override
+ public OptionFormatter get() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
/**
* Specifies the starting and ending argument name delimiters for
{@link Option} instances.
*
@@ -217,12 +223,6 @@ public final class OptionFormatter {
public String toArgName(final String argName) {
return argNameDelimiters[0] + Util.defaultValue(argName, "") +
argNameDelimiters[1];
}
-
- @Override
- public OptionFormatter get() {
- // TODO Auto-generated method stub
- return null;
- }
}
/** The default delimiters for optional arguments */
@@ -291,6 +291,15 @@ public final class OptionFormatter {
*/
public static final String DEFAULT_OPT_ARG_SEPARATOR = " ";
+ /**
+ * Creates a new builder.
+ *
+ * @return a new builder.
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
/**
* Construct the {@link OptionFormatter} from an {@link Option} using the
default {@link OptionFormatter.Builder}.
*
diff --git a/src/main/java/org/apache/commons/cli/help/TextHelpAppendable.java
b/src/main/java/org/apache/commons/cli/help/TextHelpAppendable.java
index 009da692..feb6fa39 100644
--- a/src/main/java/org/apache/commons/cli/help/TextHelpAppendable.java
+++ b/src/main/java/org/apache/commons/cli/help/TextHelpAppendable.java
@@ -16,8 +16,6 @@
*/
package org.apache.commons.cli.help;
-import static java.lang.String.format;
-
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -102,6 +100,10 @@ public class TextHelpAppendable extends
FilterHelpAppendable {
return pos > startPos ? pos : limit - 1;
}
+ protected static TextHelpAppendable systemOut() {
+ return new TextHelpAppendable(System.out);
+ }
+
/** Defines the TextStyle for paragraph, and associated output formats. */
private final TextStyle.Builder textStyleBuilder;
@@ -213,8 +215,8 @@ public class TextHelpAppendable extends
FilterHelpAppendable {
final TextStyle.Builder builder =
TextStyle.builder().setLeftPad(textStyleBuilder.getLeftPad()).setIndent(DEFAULT_LIST_INDENT);
int i = 1;
for (final CharSequence line : list) {
- final String entry = ordered ? format(" %s. %s", i++,
Util.defaultValue(line, BLANK_LINE))
- : format(" * %s", Util.defaultValue(line, BLANK_LINE));
+ final String entry = ordered ? String.format(" %s. %s", i++,
Util.defaultValue(line, BLANK_LINE))
+ : String.format(" * %s", Util.defaultValue(line,
BLANK_LINE));
builder.setMaxWidth(Math.min(textStyleBuilder.getMaxWidth(),
entry.length()));
printQueue(makeColumnQueue(entry, builder.get()));
}
@@ -343,7 +345,7 @@ public class TextHelpAppendable extends
FilterHelpAppendable {
*/
private void printQueue(final Queue<String> queue) throws IOException {
for (final String s : queue) {
- output.append(format("%s%n", Util.rtrim(s)));
+ output.append(String.format("%s%n", Util.rtrim(s)));
}
}
diff --git
a/src/test/java/org/apache/commons/cli/example/AptHelpAppendable.java
b/src/test/java/org/apache/commons/cli/example/AptHelpAppendable.java
index 9aff41d9..ae79417d 100644
--- a/src/test/java/org/apache/commons/cli/example/AptHelpAppendable.java
+++ b/src/test/java/org/apache/commons/cli/example/AptHelpAppendable.java
@@ -16,8 +16,6 @@
*/
package org.apache.commons.cli.example;
-import static java.lang.String.format;
-
import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
@@ -69,7 +67,7 @@ public class AptHelpAppendable extends FilterHelpAppendable {
for (int i = 0; i < level; i++) {
output.append("*");
}
- output.append(format(" %s%n%n", ESCAPE_APT.translate(text)));
+ output.append(String.format(" %s%n%n",
ESCAPE_APT.translate(text)));
}
}
@@ -79,11 +77,11 @@ public class AptHelpAppendable extends FilterHelpAppendable
{
if (ordered) {
int idx = 1;
for (final CharSequence s : list) {
- output.append(format(" [[%s]] %s%n", idx++,
ESCAPE_APT.translate(s)));
+ output.append(String.format(" [[%s]] %s%n", idx++,
ESCAPE_APT.translate(s)));
}
} else {
for (final CharSequence s : list) {
- output.append(format(" * %s%n",
ESCAPE_APT.translate(s)));
+ output.append(String.format(" * %s%n",
ESCAPE_APT.translate(s)));
}
}
output.append(System.lineSeparator());
@@ -93,7 +91,7 @@ public class AptHelpAppendable extends FilterHelpAppendable {
@Override
public void appendParagraph(final CharSequence paragraph) throws
IOException {
if (StringUtils.isNotEmpty(paragraph)) {
- output.append(format(" %s%n%n", ESCAPE_APT.translate(paragraph)));
+ output.append(String.format(" %s%n%n",
ESCAPE_APT.translate(paragraph)));
}
}
@@ -123,20 +121,20 @@ public class AptHelpAppendable extends
FilterHelpAppendable {
output.append(sb.toString());
output.append("|");
for (final String header : table.headers()) {
- output.append(format(" %s |", ESCAPE_APT.translate(header)));
+ output.append(String.format(" %s |",
ESCAPE_APT.translate(header)));
}
output.append(rowSeparator);
// write the table entries
for (final Collection<String> row : table.rows()) {
output.append("|");
for (final String cell : row) {
- output.append(format(" %s |", ESCAPE_APT.translate(cell)));
+ output.append(String.format(" %s |",
ESCAPE_APT.translate(cell)));
}
output.append(rowSeparator);
}
// write the caption
if (StringUtils.isNotEmpty(table.caption())) {
- output.append(format("%s%n",
ESCAPE_APT.translate(table.caption())));
+ output.append(String.format("%s%n",
ESCAPE_APT.translate(table.caption())));
}
output.append(System.lineSeparator());
}
@@ -145,7 +143,7 @@ public class AptHelpAppendable extends FilterHelpAppendable
{
@Override
public void appendTitle(final CharSequence title) throws IOException {
if (StringUtils.isNotEmpty(title)) {
- output.append(format(" -----%n %1$s%n
-----%n%n%1$s%n%n", title));
+ output.append(String.format(" -----%n %1$s%n
-----%n%n%1$s%n%n", title));
}
}
}
diff --git
a/src/test/java/org/apache/commons/cli/example/AptHelpAppendableTest.java
b/src/test/java/org/apache/commons/cli/example/AptHelpAppendableTest.java
index 6b56af8f..0a0bdc5e 100644
--- a/src/test/java/org/apache/commons/cli/example/AptHelpAppendableTest.java
+++ b/src/test/java/org/apache/commons/cli/example/AptHelpAppendableTest.java
@@ -16,7 +16,6 @@
*/
package org.apache.commons.cli.example;
-import static java.lang.String.format;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -41,10 +40,10 @@ public class AptHelpAppendableTest {
public void testAppendHeaderTest() throws IOException {
sb.setLength(0);
underTest.appendHeader(1, "Hello World");
- assertEquals(format("* Hello World%n%n"), sb.toString());
+ assertEquals(String.format("* Hello World%n%n"), sb.toString());
sb.setLength(0);
underTest.appendHeader(2, "Hello World");
- assertEquals(format("** Hello World%n%n"), sb.toString());
+ assertEquals(String.format("** Hello World%n%n"), sb.toString());
sb.setLength(0);
assertThrows(IllegalArgumentException.class, () ->
underTest.appendHeader(0, "Hello World"));
}
@@ -54,17 +53,17 @@ public class AptHelpAppendableTest {
final String[] entries = { "one", "two", "three" };
sb.setLength(0);
underTest.appendList(true, Arrays.asList(entries));
- assertEquals(format(" [[1]] one%n [[2]] two%n [[3]]
three%n%n"), sb.toString());
+ assertEquals(String.format(" [[1]] one%n [[2]] two%n [[3]]
three%n%n"), sb.toString());
sb.setLength(0);
underTest.appendList(false, Arrays.asList(entries));
- assertEquals(format(" * one%n * two%n * three%n%n"),
sb.toString());
+ assertEquals(String.format(" * one%n * two%n * three%n%n"),
sb.toString());
}
@Test
public void testAppendParagraphTest() throws IOException {
sb.setLength(0);
underTest.appendParagraph("Hello World");
- assertEquals(format(" Hello World%n%n"), sb.toString());
+ assertEquals(String.format(" Hello World%n%n"), sb.toString());
}
@Test
@@ -118,6 +117,6 @@ public class AptHelpAppendableTest {
public void testAppendTitleTest() throws IOException {
sb.setLength(0);
underTest.appendTitle("Hello World");
- assertEquals(format(" -----%n Hello World%n
-----%n%nHello World%n%n"), sb.toString());
+ assertEquals(String.format(" -----%n Hello World%n
-----%n%nHello World%n%n"), sb.toString());
}
}
diff --git
a/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendable.java
b/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendable.java
index 91adca1c..dd8ecb1b 100644
--- a/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendable.java
+++ b/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendable.java
@@ -16,8 +16,6 @@
*/
package org.apache.commons.cli.example;
-import static java.lang.String.format;
-
import java.io.IOException;
import java.util.Collection;
import java.util.List;
@@ -48,53 +46,53 @@ public class XhtmlHelpAppendable extends
FilterHelpAppendable {
if (level < 1) {
throw new IllegalArgumentException("level must be at least 1");
}
- output.append(format("<h%s>%s</h%1$s>%n", level,
StringEscapeUtils.escapeHtml4(text.toString())));
+ output.append(String.format("<h%s>%s</h%1$s>%n", level,
StringEscapeUtils.escapeHtml4(text.toString())));
}
}
@Override
public void appendList(final boolean ordered, final
Collection<CharSequence> list) throws IOException {
- output.append(format("<%sl>%n", ordered ? "o" : "u"));
+ output.append(String.format("<%sl>%n", ordered ? "o" : "u"));
for (final CharSequence line : list) {
- output.append(format(" <li>%s</li>%n",
StringEscapeUtils.escapeHtml4(StringUtils.defaultIfEmpty(line,
"").toString())));
+ output.append(String.format(" <li>%s</li>%n",
StringEscapeUtils.escapeHtml4(StringUtils.defaultIfEmpty(line,
"").toString())));
}
- output.append(format("</%sl>%n", ordered ? "o" : "u"));
+ output.append(String.format("</%sl>%n", ordered ? "o" : "u"));
}
@Override
public void appendParagraph(final CharSequence paragraph) throws
IOException {
if (StringUtils.isNotEmpty(paragraph)) {
- output.append(format("<p>%s</p>%n",
StringEscapeUtils.escapeHtml4(paragraph.toString())));
+ output.append(String.format("<p>%s</p>%n",
StringEscapeUtils.escapeHtml4(paragraph.toString())));
}
}
@Override
public void appendTable(final TableDefinition table) throws IOException {
- output.append(format("<table class='commons_cli_table'>%n"));
+ output.append(String.format("<table class='commons_cli_table'>%n"));
if (StringUtils.isNotEmpty(table.caption())) {
- output.append(format(" <caption>%s</caption>%n",
StringEscapeUtils.escapeHtml4(table.caption())));
+ output.append(String.format(" <caption>%s</caption>%n",
StringEscapeUtils.escapeHtml4(table.caption())));
}
// write the headers
if (!table.headers().isEmpty()) {
- output.append(format(" <tr>%n"));
+ output.append(String.format(" <tr>%n"));
for (final String header : table.headers()) {
- output.append(format(" <th>%s</th>%n",
StringEscapeUtils.escapeHtml4(header)));
+ output.append(String.format(" <th>%s</th>%n",
StringEscapeUtils.escapeHtml4(header)));
}
- output.append(format(" </tr>%n"));
+ output.append(String.format(" </tr>%n"));
}
// write the data
for (final List<String> row : table.rows()) {
- output.append(format(" <tr>%n"));
+ output.append(String.format(" <tr>%n"));
for (final String column : row) {
- output.append(format(" <td>%s</td>%n",
StringEscapeUtils.escapeHtml4(column)));
+ output.append(String.format(" <td>%s</td>%n",
StringEscapeUtils.escapeHtml4(column)));
}
- output.append(format(" </tr>%n"));
+ output.append(String.format(" </tr>%n"));
}
- output.append(format("</table>%n"));
+ output.append(String.format("</table>%n"));
}
@Override
public void appendTitle(final CharSequence title) throws IOException {
- output.append(format("<span class='commons_cli_title'>%s</span>%n",
StringEscapeUtils.escapeHtml4(title.toString())));
+ output.append(String.format("<span
class='commons_cli_title'>%s</span>%n",
StringEscapeUtils.escapeHtml4(title.toString())));
}
}
diff --git
a/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendableTest.java
b/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendableTest.java
index 11fe840e..8425a6b7 100644
--- a/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendableTest.java
+++ b/src/test/java/org/apache/commons/cli/example/XhtmlHelpAppendableTest.java
@@ -16,7 +16,6 @@
*/
package org.apache.commons.cli.example;
-import static java.lang.String.format;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -41,10 +40,10 @@ public class XhtmlHelpAppendableTest {
public void testAppendHeaderTest() throws IOException {
sb.setLength(0);
underTest.appendHeader(1, "Hello World");
- assertEquals(format("<h1>Hello World</h1>%n"), sb.toString());
+ assertEquals(String.format("<h1>Hello World</h1>%n"), sb.toString());
sb.setLength(0);
underTest.appendHeader(2, "Hello World");
- assertEquals(format("<h2>Hello World</h2>%n"), sb.toString());
+ assertEquals(String.format("<h2>Hello World</h2>%n"), sb.toString());
sb.setLength(0);
assertThrows(IllegalArgumentException.class, () ->
underTest.appendHeader(0, "Hello World"));
}
@@ -54,17 +53,17 @@ public class XhtmlHelpAppendableTest {
final String[] entries = { "one", "two", "three" };
sb.setLength(0);
underTest.appendList(true, Arrays.asList(entries));
- assertEquals(format("<ol>%n <li>one</li>%n <li>two</li>%n
<li>three</li>%n</ol>%n"), sb.toString());
+ assertEquals(String.format("<ol>%n <li>one</li>%n <li>two</li>%n
<li>three</li>%n</ol>%n"), sb.toString());
sb.setLength(0);
underTest.appendList(false, Arrays.asList(entries));
- assertEquals(format("<ul>%n <li>one</li>%n <li>two</li>%n
<li>three</li>%n</ul>%n"), sb.toString());
+ assertEquals(String.format("<ul>%n <li>one</li>%n <li>two</li>%n
<li>three</li>%n</ul>%n"), sb.toString());
}
@Test
public void testAppendParagraphTest() throws IOException {
sb.setLength(0);
underTest.appendParagraph("Hello World");
- assertEquals(format("<p>Hello World</p>%n"), sb.toString());
+ assertEquals(String.format("<p>Hello World</p>%n"), sb.toString());
}
@Test
@@ -132,6 +131,6 @@ public class XhtmlHelpAppendableTest {
public void testAppendTitleTest() throws IOException {
sb.setLength(0);
underTest.appendTitle("Hello World");
- assertEquals(format("<span class='commons_cli_title'>Hello
World</span>%n"), sb.toString());
+ assertEquals(String.format("<span class='commons_cli_title'>Hello
World</span>%n"), sb.toString());
}
}
diff --git a/src/test/java/org/apache/commons/cli/help/HelpFormatterTest.java
b/src/test/java/org/apache/commons/cli/help/HelpFormatterTest.java
index df0df3b3..e64d2d68 100644
--- a/src/test/java/org/apache/commons/cli/help/HelpFormatterTest.java
+++ b/src/test/java/org/apache/commons/cli/help/HelpFormatterTest.java
@@ -33,6 +33,9 @@ import org.apache.commons.cli.example.XhtmlHelpAppendable;
import org.apache.commons.io.IOUtils;
import org.junit.jupiter.api.Test;
+/**
+ * Tests {@link HelpFormatter}.
+ */
public class HelpFormatterTest {
private Options getTestGroups() {
@@ -89,7 +92,7 @@ public class HelpFormatterTest {
List<String> actual = IOUtils.readLines(new
StringReader(sb.toString()));
assertEquals(expected, actual);
- formatter = new
HelpFormatter.Builder().setShowSince(false).setHelpAppendable(serializer).get();
+ formatter =
HelpFormatter.builder().setShowSince(false).setHelpAppendable(serializer).get();
expected = new ArrayList<>();
expected.add(" usage: commandSyntax [-a <arg>]");
expected.add("");
@@ -179,7 +182,7 @@ public class HelpFormatterTest {
public void testPrintOptions() throws IOException {
final StringBuilder sb = new StringBuilder();
final TextHelpAppendable serializer = new TextHelpAppendable(sb);
- final HelpFormatter formatter = new
HelpFormatter.Builder().setHelpAppendable(serializer).setShowSince(false).get();
+ final HelpFormatter formatter =
HelpFormatter.builder().setHelpAppendable(serializer).setShowSince(false).get();
// help format default column styles
// col options description helpAppendable
@@ -227,8 +230,8 @@ public class HelpFormatterTest {
@Test
public void testSetOptionFormatBuilderTest() {
- final HelpFormatter.Builder underTest = new HelpFormatter.Builder();
- final OptionFormatter.Builder ofBuilder = new
OptionFormatter.Builder().setOptPrefix("Just Another ");
+ final HelpFormatter.Builder underTest = HelpFormatter.builder();
+ final OptionFormatter.Builder ofBuilder =
OptionFormatter.builder().setOptPrefix("Just Another ");
underTest.setOptionFormatBuilder(ofBuilder);
final HelpFormatter formatter = underTest.get();
final OptionFormatter oFormatter =
formatter.getOptionFormatter(Option.builder("thing").build());
@@ -281,7 +284,7 @@ public class HelpFormatterTest {
expected.set(0, expected.get(2));
expected.set(2, options.getOption("a"));
- underTest = new
HelpFormatter.Builder().setComparator(AbstractHelpFormatter.DEFAULT_COMPARATOR.reversed()).get();
+ underTest =
HelpFormatter.builder().setComparator(AbstractHelpFormatter.DEFAULT_COMPARATOR.reversed()).get();
assertEquals(expected, underTest.sort(options));
assertEquals(0, underTest.sort(Collections.emptyList()).size(), "empty
colleciton should return empty list");
diff --git a/src/test/java/org/apache/commons/cli/help/OptionFormatterTest.java
b/src/test/java/org/apache/commons/cli/help/OptionFormatterTest.java
index d489fff8..6ab7b59f 100644
--- a/src/test/java/org/apache/commons/cli/help/OptionFormatterTest.java
+++ b/src/test/java/org/apache/commons/cli/help/OptionFormatterTest.java
@@ -31,6 +31,9 @@ import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
+/**
+ * Tests {@link OptionFormatter}.
+ */
public class OptionFormatterTest {
public static Stream<Arguments> deprecatedAttributesData() {
@@ -87,7 +90,7 @@ public class OptionFormatterTest {
assertEquals("", underTest.toOptional(""), "enpty string should return
empty string");
assertEquals("", underTest.toOptional(null), "null should return empty
string");
- underTest = new OptionFormatter.Builder().setOptionalDelimiters("-> ",
" <-").build(option);
+ underTest = OptionFormatter.builder().setOptionalDelimiters("-> ", "
<-").build(option);
assertEquals("-> what <-", underTest.toOptional("what"));
}
@@ -144,7 +147,7 @@ public class OptionFormatterTest {
final Function<Option, String> depFunc = o -> "Ooo Deprecated";
final BiFunction<OptionFormatter, Boolean, String> fmtFunc = (o, b) ->
"Yep, it worked";
// @formatter:off
- final OptionFormatter.Builder builder = new OptionFormatter.Builder()
+ final OptionFormatter.Builder builder = OptionFormatter.builder()
.setLongOptPrefix("l")
.setOptPrefix("s")
.setArgumentNameDelimiters("{", "}")
@@ -211,13 +214,13 @@ public class OptionFormatterTest {
assertEquals("The description",
OptionFormatter.from(deprecatedOption).getDescription(), "deprecated option
failure");
assertEquals("The description",
OptionFormatter.from(deprecatedOptionWithAttributes).getDescription(), "complex
deprecated option failure");
- OptionFormatter.Builder builder = new
OptionFormatter.Builder().setDeprecatedFormatFunction(OptionFormatter.SIMPLE_DEPRECATED_FORMAT);
+ OptionFormatter.Builder builder =
OptionFormatter.builder().setDeprecatedFormatFunction(OptionFormatter.SIMPLE_DEPRECATED_FORMAT);
assertEquals("The description",
builder.build(normalOption).getDescription(), "normal option failure");
assertEquals("[Deprecated] The description",
builder.build(deprecatedOption).getDescription(), "deprecated option failure");
assertEquals("[Deprecated] The description",
builder.build(deprecatedOptionWithAttributes).getDescription(), "complex
deprecated option failure");
- builder = new
OptionFormatter.Builder().setDeprecatedFormatFunction(OptionFormatter.COMPLEX_DEPRECATED_FORMAT);
+ builder =
OptionFormatter.builder().setDeprecatedFormatFunction(OptionFormatter.COMPLEX_DEPRECATED_FORMAT);
assertEquals("The description",
builder.build(normalOption).getDescription(), "normal option failure");
assertEquals("[Deprecated] The description",
builder.build(deprecatedOption).getDescription(), "deprecated option failure");
@@ -228,13 +231,13 @@ public class OptionFormatterTest {
@Test
public void testSetArgumentNameDelimiters() {
final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
- OptionFormatter.Builder builder = new
OptionFormatter.Builder().setArgumentNameDelimiters("with argument named ",
".");
+ OptionFormatter.Builder builder =
OptionFormatter.builder().setArgumentNameDelimiters("with argument named ",
".");
assertEquals("with argument named arg.",
builder.build(option).getArgName());
- builder = new
OptionFormatter.Builder().setArgumentNameDelimiters(null, "");
+ builder = OptionFormatter.builder().setArgumentNameDelimiters(null,
"");
assertEquals("arg", builder.build(option).getArgName());
- builder = new OptionFormatter.Builder().setArgumentNameDelimiters("",
null);
+ builder = OptionFormatter.builder().setArgumentNameDelimiters("",
null);
assertEquals("arg", builder.build(option).getArgName());
}
@@ -242,52 +245,52 @@ public class OptionFormatterTest {
@Test
public void testSetDefaultArgName() {
final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
- OptionFormatter.Builder builder = new
OptionFormatter.Builder().setDefaultArgName("foo");
+ OptionFormatter.Builder builder =
OptionFormatter.builder().setDefaultArgName("foo");
assertEquals("<foo>", builder.build(option).getArgName());
- builder = new OptionFormatter.Builder().setDefaultArgName("");
+ builder = OptionFormatter.builder().setDefaultArgName("");
assertEquals("<arg>", builder.build(option).getArgName());
- builder = new OptionFormatter.Builder().setDefaultArgName(null);
+ builder = OptionFormatter.builder().setDefaultArgName(null);
assertEquals("<arg>", builder.build(option).getArgName());
}
@Test
public void testSetLongOptPrefix() {
final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
- OptionFormatter.Builder builder = new
OptionFormatter.Builder().setLongOptPrefix("fo");
+ OptionFormatter.Builder builder =
OptionFormatter.builder().setLongOptPrefix("fo");
assertEquals("foopt", builder.build(option).getLongOpt());
- builder = new OptionFormatter.Builder().setLongOptPrefix("");
+ builder = OptionFormatter.builder().setLongOptPrefix("");
assertEquals("opt", builder.build(option).getLongOpt());
- builder = new OptionFormatter.Builder().setLongOptPrefix(null);
+ builder = OptionFormatter.builder().setLongOptPrefix(null);
assertEquals("opt", builder.build(option).getLongOpt());
}
@Test
public void testSetOptArgumentSeparator() {
final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
- OptionFormatter.Builder builder = new
OptionFormatter.Builder().setOptArgSeparator(" with argument named ");
+ OptionFormatter.Builder builder =
OptionFormatter.builder().setOptArgSeparator(" with argument named ");
assertEquals("[-o with argument named <arg>]",
builder.build(option).toSyntaxOption());
- builder = new OptionFormatter.Builder().setOptArgSeparator(null);
+ builder = OptionFormatter.builder().setOptArgSeparator(null);
assertEquals("[-o<arg>]", builder.build(option).toSyntaxOption());
- builder = new OptionFormatter.Builder().setOptArgSeparator("=");
+ builder = OptionFormatter.builder().setOptArgSeparator("=");
assertEquals("[-o=<arg>]", builder.build(option).toSyntaxOption());
}
@Test
public void testSetOptSeparator() {
final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
- OptionFormatter.Builder builder = new
OptionFormatter.Builder().setOptSeparator(" and ");
+ OptionFormatter.Builder builder =
OptionFormatter.builder().setOptSeparator(" and ");
assertEquals("-o and --opt", builder.build(option).getBothOpt());
- builder = new OptionFormatter.Builder().setOptSeparator("");
+ builder = OptionFormatter.builder().setOptSeparator("");
assertEquals("-o--opt", builder.build(option).getBothOpt(), "Empty
string should return default");
- builder = new OptionFormatter.Builder().setOptSeparator(null);
+ builder = OptionFormatter.builder().setOptSeparator(null);
assertEquals("-o--opt", builder.build(option).getBothOpt(), "null
string should return default");
}
@@ -296,10 +299,10 @@ public class OptionFormatterTest {
final BiFunction<OptionFormatter, Boolean, String> func = (o, b) ->
"Yep, it worked";
final Option option =
Option.builder().option("o").longOpt("opt").hasArg().build();
- OptionFormatter.Builder builder = new
OptionFormatter.Builder().setSyntaxFormatFunction(func);
+ OptionFormatter.Builder builder =
OptionFormatter.builder().setSyntaxFormatFunction(func);
assertEquals("Yep, it worked", builder.build(option).toSyntaxOption());
- builder = new OptionFormatter.Builder().setSyntaxFormatFunction(null);
+ builder = OptionFormatter.builder().setSyntaxFormatFunction(null);
assertEquals("[-o <arg>]", builder.build(option).toSyntaxOption());
}
}
diff --git
a/src/test/java/org/apache/commons/cli/help/TextHelpAppendableTest.java
b/src/test/java/org/apache/commons/cli/help/TextHelpAppendableTest.java
index 8d32c6d8..2a94fd52 100644
--- a/src/test/java/org/apache/commons/cli/help/TextHelpAppendableTest.java
+++ b/src/test/java/org/apache/commons/cli/help/TextHelpAppendableTest.java
@@ -16,7 +16,6 @@
*/
package org.apache.commons.cli.help;
-import static java.lang.String.format;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -35,6 +34,9 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
+/**
+ * Tests {@link TextHelpAppendable}.
+ */
public final class TextHelpAppendableTest {
private StringBuilder sb;
@@ -173,7 +175,7 @@ public final class TextHelpAppendableTest {
final List<String> expected = new ArrayList<>();
final String[] entries = { "one", "two", "three" };
for (int i = 0; i < entries.length; i++) {
- expected.add(format(" %s. %s", i + 1, entries[i]));
+ expected.add(String.format(" %s. %s", i + 1, entries[i]));
}
expected.add("");
@@ -185,7 +187,7 @@ public final class TextHelpAppendableTest {
sb.setLength(0);
expected.clear();
for (final String entry : entries) {
- expected.add(format(" * %s", entry));
+ expected.add(String.format(" * %s", entry));
}
expected.add("");
underTest.appendList(false, Arrays.asList(entries));
@@ -311,7 +313,7 @@ public final class TextHelpAppendableTest {
@ParameterizedTest
@MethodSource("org.apache.commons.cli.help.UtilTest#charArgs")
public void testindexOfWrapPosWithWhitespace(final Character c, final
boolean isWhitespace) {
- final String text = format("Hello%cWorld", c);
+ final String text = String.format("Hello%cWorld", c);
assertEquals(isWhitespace ? 5 : 6,
TextHelpAppendable.indexOfWrap(text, 7, 0));
}
diff --git a/src/test/java/org/apache/commons/cli/help/UtilTest.java
b/src/test/java/org/apache/commons/cli/help/UtilTest.java
index 5e61967a..e5dab7d9 100644
--- a/src/test/java/org/apache/commons/cli/help/UtilTest.java
+++ b/src/test/java/org/apache/commons/cli/help/UtilTest.java
@@ -17,7 +17,6 @@
package org.apache.commons.cli.help;
-import static java.lang.String.format;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
@@ -67,9 +66,9 @@ public class UtilTest {
@ParameterizedTest
@MethodSource("charArgs")
public void testFindNonWhitespacePos(final Character c, final boolean
isWhitespace) {
- String text = format("%cWorld", c);
+ String text = String.format("%cWorld", c);
assertEquals(isWhitespace ? 1 : 0, Util.indexOfNonWhitespace(text, 0));
- text = format("%c%c%c", c, c, c);
+ text = String.format("%c%c%c", c, c, c);
assertEquals(isWhitespace ? -1 : 0, Util.indexOfNonWhitespace(text,
0));
}
@@ -87,11 +86,11 @@ public class UtilTest {
@MethodSource("charArgs")
public void testRtrim(final Character c, final boolean isWhitespace) {
if (isWhitespace) {
- assertEquals("worx", Util.rtrim(format("worx%s", c)), () ->
format("Did not process character 0x%x", (int) c));
+ assertEquals("worx", Util.rtrim(String.format("worx%s", c)), () ->
String.format("Did not process character 0x%x", (int) c));
} else {
- assertNotEquals("worx", Util.rtrim(format("worx%s", c)), () ->
format("Did not process character 0x%x", (int) c));
+ assertNotEquals("worx", Util.rtrim(String.format("worx%s", c)), ()
-> String.format("Did not process character 0x%x", (int) c));
}
- final String text = format("%c%c%c", c, c, c);
+ final String text = String.format("%c%c%c", c, c, c);
assertEquals(isWhitespace ? "" : text, Util.ltrim(text));
}
}