Skip to content

Commit 2f0f9d7

Browse files
BAEL-6498 RequiredArgsConstructor Code and Tests (#14281)
* BAEL-6498 RequiredArgsConstructor Code and Tests * BAEL-6498 RequiredArgsConstructor Code and Tests
1 parent 0ec89ae commit 2f0f9d7

5 files changed

Lines changed: 81 additions & 1 deletion

File tree

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.baeldung.lombok.requiredargsconstructor;
2+
3+
import lombok.RequiredArgsConstructor;
4+
5+
@RequiredArgsConstructor
6+
public class ClassWithFinalMembers {
7+
8+
private final String stringObject;
9+
10+
public String getStringObject() {
11+
return stringObject;
12+
}
13+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.baeldung.lombok.requiredargsconstructor;
2+
3+
import lombok.NonNull;
4+
import lombok.RequiredArgsConstructor;
5+
6+
@RequiredArgsConstructor
7+
public class ClassWithFinalNonNullMembers {
8+
9+
private final String finalStringObject;
10+
@NonNull
11+
private String nonNullStringObject;
12+
13+
private String nonFinalStringObject;
14+
15+
public String getFinalStringObject() {
16+
return finalStringObject;
17+
}
18+
19+
public String getNonNullStringObject() {
20+
return nonNullStringObject;
21+
}
22+
23+
public String getNonFinalStringObject() {
24+
return nonFinalStringObject;
25+
}
26+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.baeldung.lombok.requiredargsconstructor;
2+
3+
import lombok.RequiredArgsConstructor;
4+
5+
@RequiredArgsConstructor
6+
public class ClassWithNonFinalMembers {
7+
8+
private String stringObject;
9+
10+
public String getStringObject() {
11+
return stringObject;
12+
}
13+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.baeldung.lombok.requiredargsconstructor;
2+
3+
import org.junit.jupiter.api.Assertions;
4+
import org.junit.jupiter.api.Test;
5+
6+
public class RequiredArgsConstructorUnitTest {
7+
@Test
8+
void whenClassHasFinalMembers_thenGeneratedConstructorHasParameters() {
9+
ClassWithFinalMembers classWithFinalMembers = new ClassWithFinalMembers("dummyString");
10+
Assertions.assertNotNull(classWithFinalMembers);
11+
Assertions.assertEquals("dummyString", classWithFinalMembers.getStringObject());
12+
}
13+
14+
@Test
15+
void whenClassHasNonFinalMembers_thenGeneratedConstructorHasNoParameters() {
16+
ClassWithNonFinalMembers classWithNonFinalMembers = new ClassWithNonFinalMembers();
17+
Assertions.assertNotNull(classWithNonFinalMembers);
18+
}
19+
20+
@Test
21+
void whenClassHasFinalAndNonNullMembers_thenGeneratedConstructorHasParameters() {
22+
ClassWithFinalNonNullMembers classWithFinalNonNullMembers = new ClassWithFinalNonNullMembers("finalString", "nonNullString");
23+
Assertions.assertNotNull(classWithFinalNonNullMembers);
24+
Assertions.assertEquals("finalString", classWithFinalNonNullMembers.getFinalStringObject());
25+
Assertions.assertEquals("nonNullString", classWithFinalNonNullMembers.getNonNullStringObject());
26+
Assertions.assertNull(classWithFinalNonNullMembers.getNonFinalStringObject());
27+
}
28+
}

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1297,7 +1297,7 @@
12971297
<gitflow-incremental-builder.version>3.12.2</gitflow-incremental-builder.version>
12981298
<maven-jxr-plugin.version>3.0.0</maven-jxr-plugin.version>
12991299
<maven-pmd-plugin.version>3.19.0</maven-pmd-plugin.version>
1300-
<lombok.version>1.18.24</lombok.version>
1300+
<lombok.version>1.18.28</lombok.version>
13011301
<h2.version>2.1.214</h2.version>
13021302
<guava.version>31.1-jre</guava.version>
13031303
<maven-jar-plugin.version>3.2.2</maven-jar-plugin.version>

0 commit comments

Comments
 (0)