diff --git a/src/test/java/org/openrewrite/staticanalysis/RenameMethodsNamedHashcodeEqualOrToStringTest.java b/src/test/java/org/openrewrite/staticanalysis/RenameMethodsNamedHashcodeEqualOrToStringTest.java index 34393129e..463fca3e0 100644 --- a/src/test/java/org/openrewrite/staticanalysis/RenameMethodsNamedHashcodeEqualOrToStringTest.java +++ b/src/test/java/org/openrewrite/staticanalysis/RenameMethodsNamedHashcodeEqualOrToStringTest.java @@ -16,6 +16,7 @@ package org.openrewrite.staticanalysis; import org.junit.jupiter.api.Test; +import org.junitpioneer.jupiter.ExpectedToFail; import org.openrewrite.DocumentExample; import org.openrewrite.test.RecipeSpec; import org.openrewrite.test.RewriteTest; @@ -86,6 +87,42 @@ public String toString() { ); } + @ExpectedToFail("Both variants are renamed to hashCode(), producing two colliding declarations") + @Test + void doNotRenameWhenTwoMisspelledVariantsWouldCollide() { + rewriteRun( + //language=java + java( + """ + class Test { + public int hashcode() { + return 1; + } + + public int hashCODE() { + return 2; + } + } + """ + ) + ); + } + + @ExpectedToFail("An annotation type member may not carry the name of an Object method") + @Test + void doNotRenameAnnotationTypeMember() { + rewriteRun( + //language=java + java( + """ + @interface Test { + int hashcode(); + } + """ + ) + ); + } + @Test void compliantWhenHasMismatchingTypeInformation() { rewriteRun(