From cb61d0687b08eb661286452241338b6652cd8170 Mon Sep 17 00:00:00 2001 From: Hardik Singh Behl Date: Wed, 2 Sep 2026 18:34:01 +0530 Subject: [PATCH 1/3] BAEL-9752: add UT --- .../java8/lambda/exceptions/RecordStream.java | 13 +++++++++++++ .../java8/lambda/exceptions/Validator.java | 11 +++++++++++ .../LambdaWildcardInferenceUnitTest.java | 19 +++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/RecordStream.java create mode 100644 core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/Validator.java create mode 100644 core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/exceptions/LambdaWildcardInferenceUnitTest.java diff --git a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/RecordStream.java b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/RecordStream.java new file mode 100644 index 000000000000..52880f054919 --- /dev/null +++ b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/RecordStream.java @@ -0,0 +1,13 @@ +package com.baeldung.java8.lambda.exceptions; + +class RecordStream { + + static RecordStream create() { + return new RecordStream<>(); + } + + RecordStream validate(Validator validator) { + return this; + } + +} \ No newline at end of file diff --git a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/Validator.java b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/Validator.java new file mode 100644 index 000000000000..95e0390ece45 --- /dev/null +++ b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/Validator.java @@ -0,0 +1,11 @@ +package com.baeldung.java8.lambda.exceptions; + +import java.util.function.Predicate; + +@FunctionalInterface +interface Validator extends Predicate { + + @Override + boolean test(T t); + +} \ No newline at end of file diff --git a/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/exceptions/LambdaWildcardInferenceUnitTest.java b/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/exceptions/LambdaWildcardInferenceUnitTest.java new file mode 100644 index 000000000000..ff066ebf83ee --- /dev/null +++ b/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/exceptions/LambdaWildcardInferenceUnitTest.java @@ -0,0 +1,19 @@ +package com.baeldung.java8.lambda.exceptions; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Test; + +class LambdaWildcardInferenceUnitTest { + + @Test + void whenImplicitlyTypedLambdaPassedToWildcardParameter_thenSuccess() { + Validator validator = b -> b; + RecordStream stream = RecordStream. create() + .validate(b -> b); + + assertTrue(validator.test(true)); + assertFalse(validator.test(false)); + } +} \ No newline at end of file From 0012d42a954b92659372dd4a002a364b8aeef203 Mon Sep 17 00:00:00 2001 From: Hardik Singh Behl Date: Wed, 2 Sep 2026 18:37:36 +0530 Subject: [PATCH 2/3] update indentation --- .../java/com/baeldung/java8/lambda/exceptions/RecordStream.java | 1 - .../java/com/baeldung/java8/lambda/exceptions/Validator.java | 1 - 2 files changed, 2 deletions(-) diff --git a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/RecordStream.java b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/RecordStream.java index 52880f054919..faa8e2ae838d 100644 --- a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/RecordStream.java +++ b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/RecordStream.java @@ -9,5 +9,4 @@ static RecordStream create() { RecordStream validate(Validator validator) { return this; } - } \ No newline at end of file diff --git a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/Validator.java b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/Validator.java index 95e0390ece45..bad5f788be3a 100644 --- a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/Validator.java +++ b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/Validator.java @@ -7,5 +7,4 @@ interface Validator extends Predicate { @Override boolean test(T t); - } \ No newline at end of file From 2b20190c9e19b5dd31b032c8b79df6edeaae0a64 Mon Sep 17 00:00:00 2001 From: Hardik Singh Behl Date: Fri, 4 Sep 2026 15:03:11 +0530 Subject: [PATCH 3/3] incorporate feedback --- .../baeldung/java8/lambda/exceptions/RecordStream.java | 10 +++------- .../exceptions/LambdaWildcardInferenceUnitTest.java | 8 ++------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/RecordStream.java b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/RecordStream.java index faa8e2ae838d..24ff8b69e810 100644 --- a/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/RecordStream.java +++ b/core-java-modules/core-java-lambdas/src/main/java/com/baeldung/java8/lambda/exceptions/RecordStream.java @@ -1,12 +1,8 @@ package com.baeldung.java8.lambda.exceptions; -class RecordStream { +class RecordStream { - static RecordStream create() { - return new RecordStream<>(); - } - - RecordStream validate(Validator validator) { - return this; + static boolean validate(E record, Validator validator) { + return validator.test(record); } } \ No newline at end of file diff --git a/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/exceptions/LambdaWildcardInferenceUnitTest.java b/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/exceptions/LambdaWildcardInferenceUnitTest.java index ff066ebf83ee..9f5259cc77d8 100644 --- a/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/exceptions/LambdaWildcardInferenceUnitTest.java +++ b/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/exceptions/LambdaWildcardInferenceUnitTest.java @@ -9,11 +9,7 @@ class LambdaWildcardInferenceUnitTest { @Test void whenImplicitlyTypedLambdaPassedToWildcardParameter_thenSuccess() { - Validator validator = b -> b; - RecordStream stream = RecordStream. create() - .validate(b -> b); - - assertTrue(validator.test(true)); - assertFalse(validator.test(false)); + assertTrue(RecordStream.validate(Boolean.TRUE, b -> b)); + assertFalse(RecordStream.validate(Boolean.FALSE, b -> b)); } } \ No newline at end of file