Added tests for modifier modifications
diff --git a/javaparser-core-testing/src/test/java/com/github/javaparser/printer/lexicalpreservation/transformations/ast/body/MethodDeclarationTransformationsTest.java b/javaparser-core-testing/src/test/java/com/github/javaparser/printer/lexicalpreservation/transformations/ast/body/MethodDeclarationTransformationsTest.java
index 19e2d5c..4353358 100644
--- a/javaparser-core-testing/src/test/java/com/github/javaparser/printer/lexicalpreservation/transformations/ast/body/MethodDeclarationTransformationsTest.java
+++ b/javaparser-core-testing/src/test/java/com/github/javaparser/printer/lexicalpreservation/transformations/ast/body/MethodDeclarationTransformationsTest.java
@@ -77,12 +77,66 @@
}
@Test
+ public void removingModifiersWithExistingAnnotationsShort() {
+ MethodDeclaration it = consider("@Override public void A(){}");
+ it.setModifiers(EnumSet.noneOf(Modifier.class));
+ assertTransformedToString("@Override void A(){}", it);
+ }
+
+ @Test
+ public void removingModifiersWithExistingAnnotations() {
+ considerCode(
+ "class X {" + EOL +
+ " @Test" + EOL +
+ " public void testCase() {" + EOL +
+ " }" + EOL +
+ "}" + EOL
+ );
+
+ cu.getType(0).getMethods().get(0).setModifiers(EnumSet.noneOf(Modifier.class));
+
+ String result = LexicalPreservingPrinter.print(cu.findCompilationUnit().get());
+ assertEqualsNoEol("class X {\n" +
+ " @Test\n" +
+ " void testCase() {\n" +
+ " }\n" +
+ "}\n", result);
+ }
+
+ @Test
public void replacingModifiers() {
MethodDeclaration it = consider("public void A(){}");
it.setModifiers(EnumSet.of(Modifier.PROTECTED));
assertTransformedToString("protected void A(){}", it);
}
+ @Test
+ public void replacingModifiersWithExistingAnnotationsShort() {
+ MethodDeclaration it = consider("@Override public void A(){}");
+ it.setModifiers(EnumSet.of(Modifier.PROTECTED));
+ assertTransformedToString("@Override protected void A(){}", it);
+ }
+
+ @Test
+ public void replacingModifiersWithExistingAnnotations() {
+ considerCode(
+ "class X {" + EOL +
+ " @Test" + EOL +
+ " public void testCase() {" + EOL +
+ " }" + EOL +
+ "}" + EOL
+ );
+
+ cu.getType(0).getMethods().get(0).setModifiers(EnumSet.of(Modifier.PROTECTED));
+
+ String result = LexicalPreservingPrinter.print(cu.findCompilationUnit().get());
+ assertEqualsNoEol("class X {\n" +
+ " @Test\n" +
+ " protected void testCase() {\n" +
+ " }\n" +
+ "}\n", result);
+ }
+
// Parameters
@Test