From 2f0f9d7e4734d4ba272c29a1943b648e4a710880 Mon Sep 17 00:00:00 2001 From: brokenhardisk Date: Tue, 27 Jun 2023 15:13:29 +0200 Subject: [PATCH] BAEL-6498 RequiredArgsConstructor Code and Tests (#14281) * BAEL-6498 RequiredArgsConstructor Code and Tests * BAEL-6498 RequiredArgsConstructor Code and Tests --- .../ClassWithFinalMembers.java | 13 +++++++++ .../ClassWithFinalNonNullMembers.java | 26 +++++++++++++++++ .../ClassWithNonFinalMembers.java | 13 +++++++++ .../RequiredArgsConstructorUnitTest.java | 28 +++++++++++++++++++ pom.xml | 2 +- 5 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 lombok-modules/lombok-2/src/main/java/com/baeldung/lombok/requiredargsconstructor/ClassWithFinalMembers.java create mode 100644 lombok-modules/lombok-2/src/main/java/com/baeldung/lombok/requiredargsconstructor/ClassWithFinalNonNullMembers.java create mode 100644 lombok-modules/lombok-2/src/main/java/com/baeldung/lombok/requiredargsconstructor/ClassWithNonFinalMembers.java create mode 100644 lombok-modules/lombok-2/src/test/java/com/baeldung/lombok/requiredargsconstructor/RequiredArgsConstructorUnitTest.java diff --git a/lombok-modules/lombok-2/src/main/java/com/baeldung/lombok/requiredargsconstructor/ClassWithFinalMembers.java b/lombok-modules/lombok-2/src/main/java/com/baeldung/lombok/requiredargsconstructor/ClassWithFinalMembers.java new file mode 100644 index 0000000000..9537c0a664 --- /dev/null +++ b/lombok-modules/lombok-2/src/main/java/com/baeldung/lombok/requiredargsconstructor/ClassWithFinalMembers.java @@ -0,0 +1,13 @@ +package com.baeldung.lombok.requiredargsconstructor; + +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +public class ClassWithFinalMembers { + + private final String stringObject; + + public String getStringObject() { + return stringObject; + } +} diff --git a/lombok-modules/lombok-2/src/main/java/com/baeldung/lombok/requiredargsconstructor/ClassWithFinalNonNullMembers.java b/lombok-modules/lombok-2/src/main/java/com/baeldung/lombok/requiredargsconstructor/ClassWithFinalNonNullMembers.java new file mode 100644 index 0000000000..7585afa6c1 --- /dev/null +++ b/lombok-modules/lombok-2/src/main/java/com/baeldung/lombok/requiredargsconstructor/ClassWithFinalNonNullMembers.java @@ -0,0 +1,26 @@ +package com.baeldung.lombok.requiredargsconstructor; + +import lombok.NonNull; +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +public class ClassWithFinalNonNullMembers { + + private final String finalStringObject; + @NonNull + private String nonNullStringObject; + + private String nonFinalStringObject; + + public String getFinalStringObject() { + return finalStringObject; + } + + public String getNonNullStringObject() { + return nonNullStringObject; + } + + public String getNonFinalStringObject() { + return nonFinalStringObject; + } +} diff --git a/lombok-modules/lombok-2/src/main/java/com/baeldung/lombok/requiredargsconstructor/ClassWithNonFinalMembers.java b/lombok-modules/lombok-2/src/main/java/com/baeldung/lombok/requiredargsconstructor/ClassWithNonFinalMembers.java new file mode 100644 index 0000000000..7a125a343a --- /dev/null +++ b/lombok-modules/lombok-2/src/main/java/com/baeldung/lombok/requiredargsconstructor/ClassWithNonFinalMembers.java @@ -0,0 +1,13 @@ +package com.baeldung.lombok.requiredargsconstructor; + +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +public class ClassWithNonFinalMembers { + + private String stringObject; + + public String getStringObject() { + return stringObject; + } +} diff --git a/lombok-modules/lombok-2/src/test/java/com/baeldung/lombok/requiredargsconstructor/RequiredArgsConstructorUnitTest.java b/lombok-modules/lombok-2/src/test/java/com/baeldung/lombok/requiredargsconstructor/RequiredArgsConstructorUnitTest.java new file mode 100644 index 0000000000..a05fe7eb31 --- /dev/null +++ b/lombok-modules/lombok-2/src/test/java/com/baeldung/lombok/requiredargsconstructor/RequiredArgsConstructorUnitTest.java @@ -0,0 +1,28 @@ +package com.baeldung.lombok.requiredargsconstructor; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class RequiredArgsConstructorUnitTest { + @Test + void whenClassHasFinalMembers_thenGeneratedConstructorHasParameters() { + ClassWithFinalMembers classWithFinalMembers = new ClassWithFinalMembers("dummyString"); + Assertions.assertNotNull(classWithFinalMembers); + Assertions.assertEquals("dummyString", classWithFinalMembers.getStringObject()); + } + + @Test + void whenClassHasNonFinalMembers_thenGeneratedConstructorHasNoParameters() { + ClassWithNonFinalMembers classWithNonFinalMembers = new ClassWithNonFinalMembers(); + Assertions.assertNotNull(classWithNonFinalMembers); + } + + @Test + void whenClassHasFinalAndNonNullMembers_thenGeneratedConstructorHasParameters() { + ClassWithFinalNonNullMembers classWithFinalNonNullMembers = new ClassWithFinalNonNullMembers("finalString", "nonNullString"); + Assertions.assertNotNull(classWithFinalNonNullMembers); + Assertions.assertEquals("finalString", classWithFinalNonNullMembers.getFinalStringObject()); + Assertions.assertEquals("nonNullString", classWithFinalNonNullMembers.getNonNullStringObject()); + Assertions.assertNull(classWithFinalNonNullMembers.getNonFinalStringObject()); + } +} diff --git a/pom.xml b/pom.xml index 6d566549ef..dbf8c942c3 100644 --- a/pom.xml +++ b/pom.xml @@ -1297,7 +1297,7 @@ 3.12.2 3.0.0 3.19.0 - 1.18.24 + 1.18.28 2.1.214 31.1-jre 3.2.2