diff --git a/src/test/java/io/openliberty/tools/intellij/lsp4jakarta/it/beanvalidation/BeanValidationTest.java b/src/test/java/io/openliberty/tools/intellij/lsp4jakarta/it/beanvalidation/BeanValidationTest.java index d9bbb9660..664651c50 100644 --- a/src/test/java/io/openliberty/tools/intellij/lsp4jakarta/it/beanvalidation/BeanValidationTest.java +++ b/src/test/java/io/openliberty/tools/intellij/lsp4jakarta/it/beanvalidation/BeanValidationTest.java @@ -193,7 +193,7 @@ public void fieldConstraintValidation() throws Exception { assertJavaCodeAction(codeActionParams, utils, ca); - String newText6 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\nimport java.util.List;\n\n" + + String newText1 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\nimport java.util.List;\n\n" + "import jakarta.validation.constraints.*;\n\npublic class FieldConstraintValidation {\n\n @AssertTrue\n" + " private int isHappy; // invalid types\n\n @AssertFalse\n private Double isSad;\n\n" + " @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n private String bigDecimal;\n\n" + @@ -206,7 +206,7 @@ public void fieldConstraintValidation() throws Exception { " private List maybeZero;\n\n private static boolean typeValid; // static\n\n @Past\n" + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; - String newText7 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\nimport java.util.List;\n\n" + + String newText2 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\nimport java.util.List;\n\n" + "import jakarta.validation.constraints.*;\n\npublic class FieldConstraintValidation {\n\n @AssertTrue\n" + " private int isHappy; // invalid types\n\n @AssertFalse\n private Double isSad;\n\n" + " @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n private String bigDecimal;\n\n" + @@ -221,14 +221,14 @@ public void fieldConstraintValidation() throws Exception { " @NotEmpty\n private ValidConstraints validConstraints;\n}"; JakartaJavaCodeActionParams codeActionParams2 = createCodeActionParams(uri, d19); - TextEdit te1 = te(0, 0, 70, 1, newText6); - TextEdit te2 = te(0, 0, 70, 1, newText7); + TextEdit te1 = te(0, 0, 70, 1, newText1); + TextEdit te2 = te(0, 0, 70, 1, newText2); CodeAction ca1 = ca(uri, "Remove constraint annotation AssertTrue from element", d19, te1); CodeAction ca2 = ca(uri, "Remove static modifier from element", d19, te2); assertJavaCodeAction(codeActionParams2, utils, ca1, ca2); - String newText8 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\nimport java.util.List;\n\n" + + String newText3 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\nimport java.util.List;\n\n" + "import jakarta.validation.constraints.*;\n\npublic class FieldConstraintValidation {\n\n @AssertTrue\n" + " private int isHappy; // invalid types\n\n @AssertFalse\n private Double isSad;\n\n" + " @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n private String bigDecimal;\n\n" + @@ -242,7 +242,7 @@ public void fieldConstraintValidation() throws Exception { " @AssertTrue\n private static boolean typeValid; // static\n\n" + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; - String newText9 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\nimport java.util.List;\n\n" + + String newText4 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\nimport java.util.List;\n\n" + "import jakarta.validation.constraints.*;\n\npublic class FieldConstraintValidation {\n\n" + " @AssertTrue\n private int isHappy; // invalid types\n\n @AssertFalse\n" + " private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + @@ -258,14 +258,14 @@ public void fieldConstraintValidation() throws Exception { " @NotEmpty\n private ValidConstraints validConstraints;\n}"; JakartaJavaCodeActionParams codeActionParams3 = createCodeActionParams(uri, d20); - TextEdit te3 = te(0, 0, 70, 1, newText8); - TextEdit te4 = te(0, 0, 70, 1, newText9); + TextEdit te3 = te(0, 0, 70, 1, newText3); + TextEdit te4 = te(0, 0, 70, 1, newText4); CodeAction ca3 = ca(uri, "Remove constraint annotation Past from element", d20, te3); CodeAction ca4 = ca(uri, "Remove static modifier from element", d20, te4); assertJavaCodeAction(codeActionParams3, utils, ca3, ca4); - String newText10 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + String newText5 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + @@ -281,12 +281,12 @@ public void fieldConstraintValidation() throws Exception { " @NotEmpty\n private ValidConstraints validConstraints;\n}"; JakartaJavaCodeActionParams codeActionParams4 = createCodeActionParams(uri, d18); - TextEdit te5 = te(0, 0, 70, 1, newText10); + TextEdit te5 = te(0, 0, 70, 1, newText5); CodeAction ca5 = ca(uri, "Remove constraint annotation PositiveOrZero from element", d1, te5); assertJavaCodeAction(codeActionParams4, utils, ca5); - String newText11 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + String newText6 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + @@ -302,12 +302,12 @@ public void fieldConstraintValidation() throws Exception { " @NotEmpty\n private ValidConstraints validConstraints;\n}"; JakartaJavaCodeActionParams codeActionParams5 = createCodeActionParams(uri, d21); - TextEdit te6 = te(0, 0, 70, 1, newText11); + TextEdit te6 = te(0, 0, 70, 1, newText6); CodeAction ca6 = ca(uri, "Remove constraint annotation Size from element", d1, te6); assertJavaCodeAction(codeActionParams5, utils, ca6); - String newText12 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + String newText7 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + @@ -323,10 +323,346 @@ public void fieldConstraintValidation() throws Exception { " private ValidConstraints validConstraints;\n}"; JakartaJavaCodeActionParams codeActionParams6 = createCodeActionParams(uri, d22); - TextEdit te7 = te(0, 0, 70, 1, newText12); + TextEdit te7 = te(0, 0, 70, 1, newText7); CodeAction ca7 = ca(uri, "Remove constraint annotation NotEmpty from element", d22, te7); assertJavaCodeAction(codeActionParams6, utils, ca7); + + String newText8 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams8 = createCodeActionParams(uri, d2); + TextEdit te8 = te(0, 0, 70, 1, newText8); + CodeAction ca8 = ca(uri, "Remove constraint annotation AssertFalse from element", d2, te8); + + assertJavaCodeAction(codeActionParams8, utils, ca8); + + String newText9 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams9 = createCodeActionParams(uri, d3); + TextEdit te9 = te(0, 0, 70, 1, newText9); + CodeAction ca9 = ca(uri, "Remove constraint annotation DecimalMax from element", d3, te9); + + assertJavaCodeAction(codeActionParams9, utils, ca9); + + String newText10 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams10 = createCodeActionParams(uri, d4); + TextEdit te10 = te(0, 0, 70, 1, newText10); + CodeAction ca10 = ca(uri, "Remove constraint annotation DecimalMin from element", d4, te10); + + assertJavaCodeAction(codeActionParams10, utils, ca10); + + String newText11 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams11 = createCodeActionParams(uri, d5); + TextEdit te11 = te(0, 0, 70, 1, newText11); + CodeAction ca11 = ca(uri, "Remove constraint annotation Digits from element", d5, te11); + + assertJavaCodeAction(codeActionParams11, utils, ca11); + + String newText12 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams12 = createCodeActionParams(uri, d6); + TextEdit te12 = te(0, 0, 70, 1, newText12); + CodeAction ca12 = ca(uri, "Remove constraint annotation Email from element", d6, te12); + + assertJavaCodeAction(codeActionParams12, utils, ca12); + + String newText13 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams13 = createCodeActionParams(uri, d7); + TextEdit te13 = te(0, 0, 70, 1, newText13); + CodeAction ca13 = ca(uri, "Remove constraint annotation FutureOrPresent from element", d7, te13); + + assertJavaCodeAction(codeActionParams13, utils, ca13); + + String newText14 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams14 = createCodeActionParams(uri, d8); + TextEdit te14 = te(0, 0, 70, 1, newText14); + CodeAction ca14 = ca(uri, "Remove constraint annotation Future from element", d8, te14); + + assertJavaCodeAction(codeActionParams14, utils, ca14); + + String newText15 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams15 = createCodeActionParams(uri, d9); + TextEdit te15 = te(0, 0, 70, 1, newText15); + CodeAction ca15 = ca(uri, "Remove constraint annotation Min from element", d9, te15); + + assertJavaCodeAction(codeActionParams15, utils, ca15); + + String newText16 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams16 = createCodeActionParams(uri, d10); + TextEdit te16 = te(0, 0, 70, 1, newText16); + CodeAction ca16 = ca(uri, "Remove constraint annotation Max from element", d10, te16); + + assertJavaCodeAction(codeActionParams16, utils, ca16); + + String newText17 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams17 = createCodeActionParams(uri, d11); + TextEdit te17 = te(0, 0, 70, 1, newText17); + CodeAction ca17 = ca(uri, "Remove constraint annotation Negative from element", d11, te17); + + assertJavaCodeAction(codeActionParams17, utils, ca17); + + String newText18 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams18 = createCodeActionParams(uri, d12); + TextEdit te18 = te(0, 0, 70, 1, newText18); + CodeAction ca18 = ca(uri, "Remove constraint annotation NegativeOrZero from element", d12, te18); + + assertJavaCodeAction(codeActionParams18, utils, ca18); + + String newText19 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams19 = createCodeActionParams(uri, d13); + TextEdit te19 = te(0, 0, 70, 1, newText19); + CodeAction ca19 = ca(uri, "Remove constraint annotation NotBlank from element", d13, te19); + + assertJavaCodeAction(codeActionParams19, utils, ca19); + + String newText20 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams20 = createCodeActionParams(uri, d14); + TextEdit te20 = te(0, 0, 70, 1, newText20); + CodeAction ca20 = ca(uri, "Remove constraint annotation Pattern from element", d14, te20); + + assertJavaCodeAction(codeActionParams20, utils, ca20); + + String newText21 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams21 = createCodeActionParams(uri, d15); + TextEdit te21 = te(0, 0, 70, 1, newText21); + CodeAction ca21 = ca(uri, "Remove constraint annotation Past from element", d15, te21); + + assertJavaCodeAction(codeActionParams21, utils, ca21); + + String newText22 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n private char[] aGoodFieldName;\n\n @Positive\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams22 = createCodeActionParams(uri, d16); + TextEdit te22 = te(0, 0, 70, 1, newText22); + CodeAction ca22 = ca(uri, "Remove constraint annotation PastOrPresent from element", d16, te22); + + assertJavaCodeAction(codeActionParams22, utils, ca22); + + String newText23 = "package io.openliberty.sample.jakarta.beanvalidation;\n\nimport java.util.Calendar;\n" + + "import java.util.List;\n\nimport jakarta.validation.constraints.*;\n\n" + + "public class FieldConstraintValidation {\n\n @AssertTrue\n private int isHappy; // invalid types\n\n" + + " @AssertFalse\n private Double isSad;\n\n @DecimalMax(\"30.0\")\n @DecimalMin(\"10.0\")\n" + + " private String bigDecimal;\n\n @Digits(fraction = 0, integer = 0)\n private boolean digits;\n\n" + + " @Email\n private Integer emailAddress;\n\n @FutureOrPresent\n private boolean graduationDate;\n\n" + + " @Future\n private double fergiesYear;\n\n @Min(value = 50)\n @Max(value = 100)\n private boolean gpa;\n\n" + + " @Negative\n private boolean subZero;\n\n @NegativeOrZero\n private String notPos;\n\n @NotBlank\n" + + " private boolean saysomething;\n\n @Pattern(regexp = \"\")\n private Calendar thisIsUsed;\n\n @Past\n" + + " private double theGoodOldDays;\n\n @PastOrPresent\n private char[] aGoodFieldName;\n\n" + + " private String[] area;\n\n @PositiveOrZero\n private List maybeZero;\n\n" + + " @AssertTrue\n private static boolean typeValid; // static\n\n @Past\n" + + " private static boolean doubleBad; // static and invalid type\n\n @Size\n private Integer number;\n\n" + + " @NotEmpty\n private ValidConstraints validConstraints;\n}"; + + JakartaJavaCodeActionParams codeActionParams23 = createCodeActionParams(uri, d17); + TextEdit te23 = te(0, 0, 70, 1, newText23); + CodeAction ca23 = ca(uri, "Remove constraint annotation Positive from element", d17, te23); + + assertJavaCodeAction(codeActionParams23, utils, ca23); } @Test @@ -442,4 +778,4 @@ public void methodConstraintValidation() throws Exception { assertJavaCodeAction(codeActionParams, utils, ca); } -} +} \ No newline at end of file