diff --git a/picocli-examples/src/main/java/picocli/examples/arggroup/RepeatingCompositeOptions.java b/picocli-examples/src/main/java/picocli/examples/arggroup/RepeatingCompositeOptions.java index 336bbf471..c416b1d31 100644 --- a/picocli-examples/src/main/java/picocli/examples/arggroup/RepeatingCompositeOptions.java +++ b/picocli-examples/src/main/java/picocli/examples/arggroup/RepeatingCompositeOptions.java @@ -49,6 +49,10 @@ public boolean equals(Object obj) { && Objects.equals(other.file, this.file) && Objects.equals(other.rotate, this.rotate); } + + public int hashCode() { + return Objects.hash(count, file, rotate); + } } public static void main(String[] args) { diff --git a/src/test/java/picocli/ArgGroupTest.java b/src/test/java/picocli/ArgGroupTest.java index d69ec9a3f..ce98bd906 100644 --- a/src/test/java/picocli/ArgGroupTest.java +++ b/src/test/java/picocli/ArgGroupTest.java @@ -47,6 +47,7 @@ import static org.junit.Assert.*; import static picocli.ArgGroupTest.CommandMethodsWithGroupsAndMixins.InvokedSub.withMixin; +@SuppressWarnings("EqualsHashCode") // https://errorprone.info/bugpattern/EqualsHashCode public class ArgGroupTest { @Rule public final ProvideSystemProperty ansiOFF = new ProvideSystemProperty("picocli.ansi", "false"); diff --git a/src/test/java/picocli/CompletionCandidatesTest.java b/src/test/java/picocli/CompletionCandidatesTest.java index 62c098a93..d43018e72 100644 --- a/src/test/java/picocli/CompletionCandidatesTest.java +++ b/src/test/java/picocli/CompletionCandidatesTest.java @@ -248,7 +248,7 @@ class App { assertNull(candidates); } - @SuppressWarnings("unchecked") + @SuppressWarnings({"unchecked", "ReturnValueIgnored"}) // iterable.iterator() https://errorprone.info/bugpattern/ReturnValueIgnored @Test(expected = UnsupportedOperationException.class) public void testNoCompletionCandidatesThrowsUnsupportedOperation() throws Exception { Class> c = (Class>) Class.forName("picocli.CommandLine$NoCompletionCandidates"); diff --git a/src/test/java/picocli/ExecuteLegacyTest.java b/src/test/java/picocli/ExecuteLegacyTest.java index b29b19398..b5263aac4 100644 --- a/src/test/java/picocli/ExecuteLegacyTest.java +++ b/src/test/java/picocli/ExecuteLegacyTest.java @@ -408,8 +408,8 @@ public void run() { new CommandLine(new App()).parseWithHandlers(new RunFirst().andExit(23), defaultExceptionHandler().andExit(25)); assertEquals(format("" + - "blah%n", - "
"), systemErrRule.getLog()); + "blah%n" + ), systemErrRule.getLog()); } @SuppressWarnings("deprecation") diff --git a/src/test/java/picocli/HelpTest.java b/src/test/java/picocli/HelpTest.java index 3baeb2ff3..9f3686868 100644 --- a/src/test/java/picocli/HelpTest.java +++ b/src/test/java/picocli/HelpTest.java @@ -2172,7 +2172,7 @@ public void testTextTable() { " -v, --verbose show what you're doing while you are doing it%n" + " -p the quick brown fox jumped over the lazy dog. The%n" + " quick brown fox jumped over the lazy dog.%n" - ,""), table.toString(new StringBuilder()).toString()); + ), table.toString(new StringBuilder()).toString()); } @SuppressWarnings("deprecation") @@ -2198,7 +2198,7 @@ public void testTextTableAddsNewRowWhenAnyColumnTooLong() { "* -c, --create, --create2, --create3, --create4, --create5, --create6,%n" + " --create7, --create8%n" + " description%n" - ,""), table.toString(new StringBuilder()).toString()); + ), table.toString(new StringBuilder()).toString()); table = TextTable.forDefaultColumns(Help.Ansi.OFF, UsageMessageSpec.DEFAULT_USAGE_WIDTH); table.addRowValues("", "-c", ",", @@ -2208,7 +2208,7 @@ public void testTextTableAddsNewRowWhenAnyColumnTooLong() { " -c, --create, --create2, --create3, --create4, --create5, --create6,%n" + " --createAA7, --create8%n" + " description%n" - ,""), table.toString(new StringBuilder()).toString()); + ), table.toString(new StringBuilder()).toString()); } @Test @@ -2249,7 +2249,7 @@ class Cat { " -v, --show-nonprinting use ^ and M- notation, except for LDF and TAB%n" + " --help display this help and exit%n" + " --version output version information and exit%n" + - "Copyright(c) 2017%n", ""); + "Copyright(c) 2017%n"); assertEquals(expected, baos.toString()); } @@ -2323,7 +2323,7 @@ public void testNetstatUsageFormat() { " between each display. Press CTRL+C to stop redisplaying%n" + " statistics. If omitted, netstat will print the current%n" + " configuration information once.%n" - , ""); + ); assertEquals(expected, CustomLayoutDemo.createNetstatUsageFormat(Help.Ansi.OFF)); } diff --git a/src/test/java/picocli/TypeConversionTest.java b/src/test/java/picocli/TypeConversionTest.java index 6cd381763..e1b78fed5 100644 --- a/src/test/java/picocli/TypeConversionTest.java +++ b/src/test/java/picocli/TypeConversionTest.java @@ -192,7 +192,7 @@ public void testTypeConversionSucceedsForValidInput() throws Exception { "-Pattern", "a*b", // "-UUID", "c7d51423-bf9d-45dd-a30d-5b16fafe42e2", // "-Currency", "EUR", - "-tz", "Japan/Tokyo", + "-tz", "Asia/Tokyo", "-byteOrder", "LITTLE_ENDIAN", "-Class", "java.lang.String", "-NetworkInterface", "127.0.0.0", @@ -233,7 +233,7 @@ public void testTypeConversionSucceedsForValidInput() throws Exception { assertEquals("Pattern", Pattern.compile("a*b").pattern(), bean.aPatternField.pattern()); assertEquals("UUID", UUID.fromString("c7d51423-bf9d-45dd-a30d-5b16fafe42e2"), bean.anUUIDField); assertEquals("Currency", Currency.getInstance("EUR"), bean.aCurrencyField); - assertEquals("TimeZone", TimeZone.getTimeZone("Japan/Tokyo"), bean.aTimeZone); + assertEquals("TimeZone", TimeZone.getTimeZone("Asia/Tokyo"), bean.aTimeZone); assertEquals("ByteOrder", ByteOrder.LITTLE_ENDIAN, bean.aByteOrder); assertEquals("Class", String.class, bean.aClass); assertEquals("NetworkInterface", NetworkInterface.getByInetAddress(InetAddress.getByName("127.0.0.0")), bean.aNetInterface);