Skip to content

Commit f6f7d11

Browse files
author
mfilimonov
committed
3-3-0 enable-string-trimming //Additional test for TrimmedAnnotationBeanPostProcessor
1 parent 7b7f8a8 commit f6f7d11

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

3-0-spring-framework/3-3-0-enable-string-trimming/src/test/java/com/bobocode/EnableStringTrimmingTest.java

+29
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static java.util.stream.Collectors.toList;
44
import static org.assertj.core.api.Assertions.assertThat;
5+
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
56
import static org.junit.jupiter.api.Assertions.assertEquals;
67
import static org.junit.jupiter.api.Assertions.assertNull;
78
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -188,6 +189,34 @@ void trimmedAnnotationPostProcessorAnnotatedInputParams(@Autowired TrimmedServic
188189
assertEquals(inputArgs.trim(), actual);
189190
}
190191

192+
@Test
193+
@DisplayName("TrimmedAnnotationBeanPostProcessor trims String input params marked with @Trimmed and ignore not annotated")
194+
void trimmedAnnotationPostProcessorAnnotatedAndNotAnnotatedInputParams(@Autowired TrimmedService service) {
195+
String inputArgs = " Simba Bimba ";
196+
String inputArgs2 = " Timon Dimon ";
197+
String actual = service.getTheTrimmedStringWithTwoArgs(inputArgs, inputArgs2);
198+
199+
assertEquals(inputArgs.trim().concat(inputArgs2), actual);
200+
}
201+
202+
@Test
203+
@DisplayName("TrimmedAnnotationBeanPostProcessor trims several String input params marked with @Trimmed and ignore not annotated")
204+
void trimmedAnnotationPostProcessorSeveralAnnotatedAndNotAnnotatedInputParams(@Autowired TrimmedService service) {
205+
String inputArgs = " Simba Bimba ";
206+
String inputArgs2 = " Timon Lemon ";
207+
String inputArgs3 = " Pumba Lumba ";
208+
String actual = service.getTheTrimmedStringWithThreeArgs(inputArgs, inputArgs2, inputArgs3);
209+
210+
assertEquals(inputArgs.trim().concat(inputArgs2).concat(inputArgs3.trim()), actual);
211+
}
212+
213+
@Test
214+
@DisplayName("TrimmedAnnotationBeanPostProcessor not trims non-String input params marked with @Trimmed")
215+
void trimmedAnnotationPostProcessorAnnotatedNonStringInputParams(@Autowired TrimmedService service) {
216+
Integer inputArg = 1;
217+
assertDoesNotThrow(() -> service.getTheTrimmedInteger(inputArg), "Annotated parameter must ignore non-String types");
218+
}
219+
191220
@Test
192221
@DisplayName("TrimmedAnnotationBeanPostProcessor not trims String input params that not marked by @Trimmed")
193222
void trimmedAnnotationPostProcessorNotAnnotatedInputParams(@Autowired TrimmedService service) {

3-0-spring-framework/3-3-0-enable-string-trimming/src/test/java/com/bobocode/service/TrimmedService.java

+12
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,18 @@ public String getTheTrimmedString(@Trimmed String string) {
1010
return string;
1111
}
1212

13+
public String getTheTrimmedInteger(@Trimmed Integer num) {
14+
return num.toString();
15+
}
16+
17+
public String getTheTrimmedStringWithTwoArgs(@Trimmed String stringOne, String stringTwo) {
18+
return stringOne.concat(stringTwo);
19+
}
20+
21+
public String getTheTrimmedStringWithThreeArgs(@Trimmed String stringOne, String stringTwo, @Trimmed String stringThree) {
22+
return stringOne.concat(stringTwo).concat(stringThree);
23+
}
24+
1325
public String getNotTrimmedString(String string) {
1426
return string;
1527
}

0 commit comments

Comments
 (0)