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 <garydgreg...@gmail.com> 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)); } }