From fc438ba960222a5e002a9fe8daed0175182f4515 Mon Sep 17 00:00:00 2001 From: Carlos Cavero Date: Sun, 21 Nov 2021 05:19:03 +0100 Subject: [PATCH] Add val and var examples, unit tests and include flagUsage in lombok.config (#11419) --- .../baeldung/lombok/valvar/ValExample.java | 45 ++++++++++++++++++ .../baeldung/lombok/valvar/VarExample.java | 47 +++++++++++++++++++ .../com/baeldung/lombok/valvar/lombok.config | 2 + .../lombok/valvar/ValExampleUnitTest.java | 24 ++++++++++ .../lombok/valvar/VarExampleUnitTest.java | 20 ++++++++ 5 files changed, 138 insertions(+) create mode 100644 lombok/src/main/java/com/baeldung/lombok/valvar/ValExample.java create mode 100644 lombok/src/main/java/com/baeldung/lombok/valvar/VarExample.java create mode 100644 lombok/src/main/java/com/baeldung/lombok/valvar/lombok.config create mode 100644 lombok/src/test/java/com/baeldung/lombok/valvar/ValExampleUnitTest.java create mode 100644 lombok/src/test/java/com/baeldung/lombok/valvar/VarExampleUnitTest.java diff --git a/lombok/src/main/java/com/baeldung/lombok/valvar/ValExample.java b/lombok/src/main/java/com/baeldung/lombok/valvar/ValExample.java new file mode 100644 index 0000000000..b7ecd95fa8 --- /dev/null +++ b/lombok/src/main/java/com/baeldung/lombok/valvar/ValExample.java @@ -0,0 +1,45 @@ +package com.baeldung.lombok.valvar; + +import lombok.val; +import lombok.var; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; + +public class ValExample { + public Class name() { + val name = "name"; + System.out.println("Name: " + name); + return name.getClass(); + } + + public Class age() { + val age = Integer.valueOf(30); + System.out.println("Age: " + age); + return age.getClass(); + } + + public Class listOf() { + val agenda = new ArrayList(); + agenda.add("Day 1"); + System.out.println("Agenda: " + agenda); + return agenda.getClass(); + } + + public Class mapOf() { + val books = new HashMap(); + books.put(1, "Book 1"); + books.put(2, "Book 2"); + System.out.println("Books:"); + for (val entry : books.entrySet()) { + System.out.printf("- %d. %s\n", entry.getKey(), entry.getValue()); + } + return books.getClass(); + } + + public Class compoundTypes(boolean isArray) { + val compound = isArray ? new ArrayList() : new HashSet(); + return compound.getClass(); + } +} diff --git a/lombok/src/main/java/com/baeldung/lombok/valvar/VarExample.java b/lombok/src/main/java/com/baeldung/lombok/valvar/VarExample.java new file mode 100644 index 0000000000..6fabf66590 --- /dev/null +++ b/lombok/src/main/java/com/baeldung/lombok/valvar/VarExample.java @@ -0,0 +1,47 @@ +package com.baeldung.lombok.valvar; + +import lombok.var; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +public class VarExample { + public String name() { + var name = "name"; + name = "newName"; + System.out.println("Name: " + name); + return name; + } + + public Integer age() { + var age = Integer.valueOf(30); + age = 35; + System.out.println("Age: " + age); + return age; + } + + public ArrayList listOf() { + var agenda = new ArrayList(); + agenda.add("Day 1"); + agenda = new ArrayList(Arrays.asList("Day 2")); + System.out.println("Agenda: " + agenda); + return agenda; + } + + public Map mapOf() { + var books = new HashMap(); + books.put(1, "Book 1"); + books.put(2, "Book 2"); + books = new HashMap(); + books.put(3, "Book 3"); + books.put(4, "Book 4"); + + System.out.println("Books:"); + for (var entry : books.entrySet()) { + System.out.printf("- %d. %s\n", entry.getKey(), entry.getValue()); + } + return books; + } +} diff --git a/lombok/src/main/java/com/baeldung/lombok/valvar/lombok.config b/lombok/src/main/java/com/baeldung/lombok/valvar/lombok.config new file mode 100644 index 0000000000..be6d5d3694 --- /dev/null +++ b/lombok/src/main/java/com/baeldung/lombok/valvar/lombok.config @@ -0,0 +1,2 @@ +lombok.var.flagUsage = warning +lombok.val.flagUsage = warning \ No newline at end of file diff --git a/lombok/src/test/java/com/baeldung/lombok/valvar/ValExampleUnitTest.java b/lombok/src/test/java/com/baeldung/lombok/valvar/ValExampleUnitTest.java new file mode 100644 index 0000000000..b8e1102e18 --- /dev/null +++ b/lombok/src/test/java/com/baeldung/lombok/valvar/ValExampleUnitTest.java @@ -0,0 +1,24 @@ +package com.baeldung.lombok.valvar; + +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; + +import static org.assertj.core.api.Assertions.assertThat; + +class ValExampleUnitTest { + + @Test + void whenUsingValWithString_thenTheAssignedClassIsCorrect() { + ValExample val = new ValExample(); + assertThat(val.name()).isEqualTo(String.class); + assertThat(val.age()).isEqualTo(Integer.class); + assertThat(val.listOf()).isEqualTo(ArrayList.class); + assertThat(val.mapOf()).isEqualTo(HashMap.class); + assertThat(val.compoundTypes(true)).isEqualTo(ArrayList.class); + assertThat(val.compoundTypes(false)).isEqualTo(HashSet.class); + } + +} \ No newline at end of file diff --git a/lombok/src/test/java/com/baeldung/lombok/valvar/VarExampleUnitTest.java b/lombok/src/test/java/com/baeldung/lombok/valvar/VarExampleUnitTest.java new file mode 100644 index 0000000000..de6f76f8bb --- /dev/null +++ b/lombok/src/test/java/com/baeldung/lombok/valvar/VarExampleUnitTest.java @@ -0,0 +1,20 @@ +package com.baeldung.lombok.valvar; + +import org.junit.jupiter.api.Test; + +import java.util.HashMap; + +import static org.assertj.core.api.Assertions.assertThat; + +class VarExampleUnitTest { + + @Test + void whenUsingVarWithString_thenTheAssignedClassIsCorrect() { + VarExample varExample = new VarExample(); + assertThat(varExample.name()).isEqualTo("newName"); + assertThat(varExample.age()).isEqualTo(35); + assertThat("Day 2").isIn(varExample.listOf()); + assertThat(varExample.mapOf()).containsValue("Book 3"); + } + +} \ No newline at end of file