From 3ce04cafd5b8e4e82ce38a51bfbe9fd0f5f5c6aa Mon Sep 17 00:00:00 2001 From: panos-kakos <102670093+panos-kakos@users.noreply.github.com> Date: Thu, 25 Aug 2022 16:47:55 +0100 Subject: [PATCH] [Java 11502] (#12625) * [JAVA-11502] Added vavr-modules (parent) * [JAVA-11502] Added vavr(submodule) to vavr-modules(parent) * [JAVA-11502] Added vavr-2(submodule) to vavr-modules(parent) * [JAVA-11502] Added java-vavr-stream(submodule) to vavr-modules(parent) * [JAVA-11502] deleted modules that were moved + cleanup Co-authored-by: panagiotiskakos Co-authored-by: Dhawal Kapil --- pom.xml | 10 +- vavr-modules/README.md | 3 + .../java-vavr-stream}/README.md | 0 .../java-vavr-stream}/pom.xml | 2 +- .../samples/java/vavr/VavrSampler.java | 0 .../src/main/resources/logback.xml | 0 vavr-modules/pom.xml | 33 +++ {vavr-2 => vavr-modules/vavr-2}/README.md | 0 {vavr-2 => vavr-modules/vavr-2}/pom.xml | 7 +- .../com/baeldung/vavr/either/EitherDemo.java | 0 .../baeldung/vavr/either/EitherUnitTest.java | 0 .../CollectionsInteroperabilityUnitTest.java | 0 {vavr => vavr-modules/vavr}/README.md | 0 {vavr => vavr-modules/vavr}/pom.xml | 2 +- .../main/java/com/baeldung/Application.java | 0 .../repositories/VavrUserRepository.java | 0 .../samples/java/vavr/VavrSampler.java | 0 .../main/java/com/baeldung/vavr/Person.java | 0 .../com/baeldung/vavr/PersonValidator.java | 0 .../src/main/java/com/baeldung/vavr/User.java | 0 .../vavr/exception/handling/JavaTryCatch.java | 0 .../vavr/exception/handling/VavrTry.java | 0 .../handling/client/ClientException.java | 0 .../exception/handling/client/HttpClient.java | 0 .../exception/handling/client/Response.java | 0 .../application/Application.java | 0 .../baeldung/vavrvalidation/model/User.java | 0 .../validator/UserValidator.java | 0 .../vavr}/src/main/resources/logback.xml | 0 .../vavr/PatternMatchingUnitTest.java | 0 .../PropertyBasedLongRunningUnitTest.java | 0 .../java/com/baeldung/vavr/VavrUnitTest.java | 0 .../collections/CollectionAPIUnitTest.java | 0 .../CollectionFactoryMethodsUnitTest.java | 214 +++++++++--------- .../VavrExceptionHandlingUnitTest.java | 174 +++++++------- .../exception/handling/VavrTryUnitTest.java | 0 .../baeldung/vavr/future/FutureUnitTest.java | 0 .../VavrRepositoryIntegrationTest.java | 0 .../validator/UserValidatorUnitTest.java | 0 .../validator/ValidationUnitTest.java | 0 40 files changed, 239 insertions(+), 206 deletions(-) create mode 100644 vavr-modules/README.md rename {java-vavr-stream => vavr-modules/java-vavr-stream}/README.md (100%) rename {java-vavr-stream => vavr-modules/java-vavr-stream}/pom.xml (94%) rename {java-vavr-stream => vavr-modules/java-vavr-stream}/src/main/java/com/baeldung/samples/java/vavr/VavrSampler.java (100%) rename {java-vavr-stream => vavr-modules/java-vavr-stream}/src/main/resources/logback.xml (100%) create mode 100644 vavr-modules/pom.xml rename {vavr-2 => vavr-modules/vavr-2}/README.md (100%) rename {vavr-2 => vavr-modules/vavr-2}/pom.xml (74%) rename {vavr-2 => vavr-modules/vavr-2}/src/main/java/com/baeldung/vavr/either/EitherDemo.java (100%) rename {vavr-2 => vavr-modules/vavr-2}/src/test/java/com/baeldung/vavr/either/EitherUnitTest.java (100%) rename {vavr-2 => vavr-modules/vavr-2}/src/test/java/com/baeldung/vavr/interoperability/CollectionsInteroperabilityUnitTest.java (100%) rename {vavr => vavr-modules/vavr}/README.md (100%) rename {vavr => vavr-modules/vavr}/pom.xml (96%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/Application.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/repositories/VavrUserRepository.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/samples/java/vavr/VavrSampler.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/vavr/Person.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/vavr/PersonValidator.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/vavr/User.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/vavr/exception/handling/JavaTryCatch.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/vavr/exception/handling/VavrTry.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/vavr/exception/handling/client/ClientException.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/vavr/exception/handling/client/HttpClient.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/vavr/exception/handling/client/Response.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/vavrvalidation/application/Application.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/vavrvalidation/model/User.java (100%) rename {vavr => vavr-modules/vavr}/src/main/java/com/baeldung/vavrvalidation/validator/UserValidator.java (100%) rename {vavr => vavr-modules/vavr}/src/main/resources/logback.xml (100%) rename {vavr => vavr-modules/vavr}/src/test/java/com/baeldung/vavr/PatternMatchingUnitTest.java (100%) rename {vavr => vavr-modules/vavr}/src/test/java/com/baeldung/vavr/PropertyBasedLongRunningUnitTest.java (100%) rename {vavr => vavr-modules/vavr}/src/test/java/com/baeldung/vavr/VavrUnitTest.java (100%) rename {vavr => vavr-modules/vavr}/src/test/java/com/baeldung/vavr/collections/CollectionAPIUnitTest.java (100%) rename {vavr => vavr-modules/vavr}/src/test/java/com/baeldung/vavr/collections/CollectionFactoryMethodsUnitTest.java (96%) rename {vavr => vavr-modules/vavr}/src/test/java/com/baeldung/vavr/exception/handling/VavrExceptionHandlingUnitTest.java (96%) rename {vavr => vavr-modules/vavr}/src/test/java/com/baeldung/vavr/exception/handling/VavrTryUnitTest.java (100%) rename {vavr => vavr-modules/vavr}/src/test/java/com/baeldung/vavr/future/FutureUnitTest.java (100%) rename {vavr => vavr-modules/vavr}/src/test/java/com/baeldung/vavr/repositories/VavrRepositoryIntegrationTest.java (100%) rename {vavr => vavr-modules/vavr}/src/test/java/com/baeldung/vavrvalidation/validator/UserValidatorUnitTest.java (100%) rename {vavr => vavr-modules/vavr}/src/test/java/com/baeldung/vavrvalidation/validator/ValidationUnitTest.java (100%) diff --git a/pom.xml b/pom.xml index b8a73ad0a0..4bd983e30b 100644 --- a/pom.xml +++ b/pom.xml @@ -410,7 +410,6 @@ java-jdi java-rmi java-spi - java-vavr-stream java-websocket javax-sound javaxval @@ -488,6 +487,7 @@ reactive-systems security-modules slack + vavr-modules web-modules @@ -692,8 +692,7 @@ spring-ejb-modules/ejb-beans vaadin - vavr - vavr-2 + vavr-modules @@ -809,7 +808,6 @@ java-jdi java-rmi java-spi - java-vavr-stream java-websocket javax-sound javaxval @@ -889,6 +887,7 @@ reactive-systems security-modules slack + vavr-modules web-modules @@ -1079,8 +1078,7 @@ spring-ejb-modules/ejb-beans vaadin - vavr - vavr-2 + vavr-modules diff --git a/vavr-modules/README.md b/vavr-modules/README.md new file mode 100644 index 0000000000..fa2a448f3a --- /dev/null +++ b/vavr-modules/README.md @@ -0,0 +1,3 @@ +## VAVR + +This module contains modules about vavr. \ No newline at end of file diff --git a/java-vavr-stream/README.md b/vavr-modules/java-vavr-stream/README.md similarity index 100% rename from java-vavr-stream/README.md rename to vavr-modules/java-vavr-stream/README.md diff --git a/java-vavr-stream/pom.xml b/vavr-modules/java-vavr-stream/pom.xml similarity index 94% rename from java-vavr-stream/pom.xml rename to vavr-modules/java-vavr-stream/pom.xml index 8358c29003..cda9d1f734 100644 --- a/java-vavr-stream/pom.xml +++ b/vavr-modules/java-vavr-stream/pom.xml @@ -11,7 +11,7 @@ com.baeldung - parent-modules + vavr-modules 1.0.0-SNAPSHOT diff --git a/java-vavr-stream/src/main/java/com/baeldung/samples/java/vavr/VavrSampler.java b/vavr-modules/java-vavr-stream/src/main/java/com/baeldung/samples/java/vavr/VavrSampler.java similarity index 100% rename from java-vavr-stream/src/main/java/com/baeldung/samples/java/vavr/VavrSampler.java rename to vavr-modules/java-vavr-stream/src/main/java/com/baeldung/samples/java/vavr/VavrSampler.java diff --git a/java-vavr-stream/src/main/resources/logback.xml b/vavr-modules/java-vavr-stream/src/main/resources/logback.xml similarity index 100% rename from java-vavr-stream/src/main/resources/logback.xml rename to vavr-modules/java-vavr-stream/src/main/resources/logback.xml diff --git a/vavr-modules/pom.xml b/vavr-modules/pom.xml new file mode 100644 index 0000000000..d570df6d34 --- /dev/null +++ b/vavr-modules/pom.xml @@ -0,0 +1,33 @@ + + + 4.0.0 + vavr-modules + vavr-modules + pom + + + parent-modules + com.baeldung + 1.0.0-SNAPSHOT + + + + vavr + vavr-2 + java-vavr-stream + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + \ No newline at end of file diff --git a/vavr-2/README.md b/vavr-modules/vavr-2/README.md similarity index 100% rename from vavr-2/README.md rename to vavr-modules/vavr-2/README.md diff --git a/vavr-2/pom.xml b/vavr-modules/vavr-2/pom.xml similarity index 74% rename from vavr-2/pom.xml rename to vavr-modules/vavr-2/pom.xml index f3640d7c6e..681886ac11 100644 --- a/vavr-2/pom.xml +++ b/vavr-modules/vavr-2/pom.xml @@ -1,18 +1,17 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 vavr-2 vavr-2 jar - parent-modules com.baeldung + vavr-modules 1.0.0-SNAPSHOT - io.vavr diff --git a/vavr-2/src/main/java/com/baeldung/vavr/either/EitherDemo.java b/vavr-modules/vavr-2/src/main/java/com/baeldung/vavr/either/EitherDemo.java similarity index 100% rename from vavr-2/src/main/java/com/baeldung/vavr/either/EitherDemo.java rename to vavr-modules/vavr-2/src/main/java/com/baeldung/vavr/either/EitherDemo.java diff --git a/vavr-2/src/test/java/com/baeldung/vavr/either/EitherUnitTest.java b/vavr-modules/vavr-2/src/test/java/com/baeldung/vavr/either/EitherUnitTest.java similarity index 100% rename from vavr-2/src/test/java/com/baeldung/vavr/either/EitherUnitTest.java rename to vavr-modules/vavr-2/src/test/java/com/baeldung/vavr/either/EitherUnitTest.java diff --git a/vavr-2/src/test/java/com/baeldung/vavr/interoperability/CollectionsInteroperabilityUnitTest.java b/vavr-modules/vavr-2/src/test/java/com/baeldung/vavr/interoperability/CollectionsInteroperabilityUnitTest.java similarity index 100% rename from vavr-2/src/test/java/com/baeldung/vavr/interoperability/CollectionsInteroperabilityUnitTest.java rename to vavr-modules/vavr-2/src/test/java/com/baeldung/vavr/interoperability/CollectionsInteroperabilityUnitTest.java diff --git a/vavr/README.md b/vavr-modules/vavr/README.md similarity index 100% rename from vavr/README.md rename to vavr-modules/vavr/README.md diff --git a/vavr/pom.xml b/vavr-modules/vavr/pom.xml similarity index 96% rename from vavr/pom.xml rename to vavr-modules/vavr/pom.xml index 1604ecc06e..5f6bf4db98 100644 --- a/vavr/pom.xml +++ b/vavr-modules/vavr/pom.xml @@ -11,7 +11,7 @@ com.baeldung parent-boot-2 0.0.1-SNAPSHOT - ../parent-boot-2 + ../../parent-boot-2 diff --git a/vavr/src/main/java/com/baeldung/Application.java b/vavr-modules/vavr/src/main/java/com/baeldung/Application.java similarity index 100% rename from vavr/src/main/java/com/baeldung/Application.java rename to vavr-modules/vavr/src/main/java/com/baeldung/Application.java diff --git a/vavr/src/main/java/com/baeldung/repositories/VavrUserRepository.java b/vavr-modules/vavr/src/main/java/com/baeldung/repositories/VavrUserRepository.java similarity index 100% rename from vavr/src/main/java/com/baeldung/repositories/VavrUserRepository.java rename to vavr-modules/vavr/src/main/java/com/baeldung/repositories/VavrUserRepository.java diff --git a/vavr/src/main/java/com/baeldung/samples/java/vavr/VavrSampler.java b/vavr-modules/vavr/src/main/java/com/baeldung/samples/java/vavr/VavrSampler.java similarity index 100% rename from vavr/src/main/java/com/baeldung/samples/java/vavr/VavrSampler.java rename to vavr-modules/vavr/src/main/java/com/baeldung/samples/java/vavr/VavrSampler.java diff --git a/vavr/src/main/java/com/baeldung/vavr/Person.java b/vavr-modules/vavr/src/main/java/com/baeldung/vavr/Person.java similarity index 100% rename from vavr/src/main/java/com/baeldung/vavr/Person.java rename to vavr-modules/vavr/src/main/java/com/baeldung/vavr/Person.java diff --git a/vavr/src/main/java/com/baeldung/vavr/PersonValidator.java b/vavr-modules/vavr/src/main/java/com/baeldung/vavr/PersonValidator.java similarity index 100% rename from vavr/src/main/java/com/baeldung/vavr/PersonValidator.java rename to vavr-modules/vavr/src/main/java/com/baeldung/vavr/PersonValidator.java diff --git a/vavr/src/main/java/com/baeldung/vavr/User.java b/vavr-modules/vavr/src/main/java/com/baeldung/vavr/User.java similarity index 100% rename from vavr/src/main/java/com/baeldung/vavr/User.java rename to vavr-modules/vavr/src/main/java/com/baeldung/vavr/User.java diff --git a/vavr/src/main/java/com/baeldung/vavr/exception/handling/JavaTryCatch.java b/vavr-modules/vavr/src/main/java/com/baeldung/vavr/exception/handling/JavaTryCatch.java similarity index 100% rename from vavr/src/main/java/com/baeldung/vavr/exception/handling/JavaTryCatch.java rename to vavr-modules/vavr/src/main/java/com/baeldung/vavr/exception/handling/JavaTryCatch.java diff --git a/vavr/src/main/java/com/baeldung/vavr/exception/handling/VavrTry.java b/vavr-modules/vavr/src/main/java/com/baeldung/vavr/exception/handling/VavrTry.java similarity index 100% rename from vavr/src/main/java/com/baeldung/vavr/exception/handling/VavrTry.java rename to vavr-modules/vavr/src/main/java/com/baeldung/vavr/exception/handling/VavrTry.java diff --git a/vavr/src/main/java/com/baeldung/vavr/exception/handling/client/ClientException.java b/vavr-modules/vavr/src/main/java/com/baeldung/vavr/exception/handling/client/ClientException.java similarity index 100% rename from vavr/src/main/java/com/baeldung/vavr/exception/handling/client/ClientException.java rename to vavr-modules/vavr/src/main/java/com/baeldung/vavr/exception/handling/client/ClientException.java diff --git a/vavr/src/main/java/com/baeldung/vavr/exception/handling/client/HttpClient.java b/vavr-modules/vavr/src/main/java/com/baeldung/vavr/exception/handling/client/HttpClient.java similarity index 100% rename from vavr/src/main/java/com/baeldung/vavr/exception/handling/client/HttpClient.java rename to vavr-modules/vavr/src/main/java/com/baeldung/vavr/exception/handling/client/HttpClient.java diff --git a/vavr/src/main/java/com/baeldung/vavr/exception/handling/client/Response.java b/vavr-modules/vavr/src/main/java/com/baeldung/vavr/exception/handling/client/Response.java similarity index 100% rename from vavr/src/main/java/com/baeldung/vavr/exception/handling/client/Response.java rename to vavr-modules/vavr/src/main/java/com/baeldung/vavr/exception/handling/client/Response.java diff --git a/vavr/src/main/java/com/baeldung/vavrvalidation/application/Application.java b/vavr-modules/vavr/src/main/java/com/baeldung/vavrvalidation/application/Application.java similarity index 100% rename from vavr/src/main/java/com/baeldung/vavrvalidation/application/Application.java rename to vavr-modules/vavr/src/main/java/com/baeldung/vavrvalidation/application/Application.java diff --git a/vavr/src/main/java/com/baeldung/vavrvalidation/model/User.java b/vavr-modules/vavr/src/main/java/com/baeldung/vavrvalidation/model/User.java similarity index 100% rename from vavr/src/main/java/com/baeldung/vavrvalidation/model/User.java rename to vavr-modules/vavr/src/main/java/com/baeldung/vavrvalidation/model/User.java diff --git a/vavr/src/main/java/com/baeldung/vavrvalidation/validator/UserValidator.java b/vavr-modules/vavr/src/main/java/com/baeldung/vavrvalidation/validator/UserValidator.java similarity index 100% rename from vavr/src/main/java/com/baeldung/vavrvalidation/validator/UserValidator.java rename to vavr-modules/vavr/src/main/java/com/baeldung/vavrvalidation/validator/UserValidator.java diff --git a/vavr/src/main/resources/logback.xml b/vavr-modules/vavr/src/main/resources/logback.xml similarity index 100% rename from vavr/src/main/resources/logback.xml rename to vavr-modules/vavr/src/main/resources/logback.xml diff --git a/vavr/src/test/java/com/baeldung/vavr/PatternMatchingUnitTest.java b/vavr-modules/vavr/src/test/java/com/baeldung/vavr/PatternMatchingUnitTest.java similarity index 100% rename from vavr/src/test/java/com/baeldung/vavr/PatternMatchingUnitTest.java rename to vavr-modules/vavr/src/test/java/com/baeldung/vavr/PatternMatchingUnitTest.java diff --git a/vavr/src/test/java/com/baeldung/vavr/PropertyBasedLongRunningUnitTest.java b/vavr-modules/vavr/src/test/java/com/baeldung/vavr/PropertyBasedLongRunningUnitTest.java similarity index 100% rename from vavr/src/test/java/com/baeldung/vavr/PropertyBasedLongRunningUnitTest.java rename to vavr-modules/vavr/src/test/java/com/baeldung/vavr/PropertyBasedLongRunningUnitTest.java diff --git a/vavr/src/test/java/com/baeldung/vavr/VavrUnitTest.java b/vavr-modules/vavr/src/test/java/com/baeldung/vavr/VavrUnitTest.java similarity index 100% rename from vavr/src/test/java/com/baeldung/vavr/VavrUnitTest.java rename to vavr-modules/vavr/src/test/java/com/baeldung/vavr/VavrUnitTest.java diff --git a/vavr/src/test/java/com/baeldung/vavr/collections/CollectionAPIUnitTest.java b/vavr-modules/vavr/src/test/java/com/baeldung/vavr/collections/CollectionAPIUnitTest.java similarity index 100% rename from vavr/src/test/java/com/baeldung/vavr/collections/CollectionAPIUnitTest.java rename to vavr-modules/vavr/src/test/java/com/baeldung/vavr/collections/CollectionAPIUnitTest.java diff --git a/vavr/src/test/java/com/baeldung/vavr/collections/CollectionFactoryMethodsUnitTest.java b/vavr-modules/vavr/src/test/java/com/baeldung/vavr/collections/CollectionFactoryMethodsUnitTest.java similarity index 96% rename from vavr/src/test/java/com/baeldung/vavr/collections/CollectionFactoryMethodsUnitTest.java rename to vavr-modules/vavr/src/test/java/com/baeldung/vavr/collections/CollectionFactoryMethodsUnitTest.java index 60359d6803..1bae70a3d4 100644 --- a/vavr/src/test/java/com/baeldung/vavr/collections/CollectionFactoryMethodsUnitTest.java +++ b/vavr-modules/vavr/src/test/java/com/baeldung/vavr/collections/CollectionFactoryMethodsUnitTest.java @@ -1,107 +1,107 @@ -package com.baeldung.vavr.collections; - -import static io.vavr.API.Array; -import static io.vavr.API.Failure; -import static io.vavr.API.List; -import static io.vavr.API.None; -import static io.vavr.API.Some; -import static io.vavr.API.Stream; -import static io.vavr.API.Success; -import static io.vavr.API.Tuple; -import static io.vavr.API.Vector; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -import org.junit.Test; - -import io.vavr.Tuple3; -import io.vavr.collection.Array; -import io.vavr.collection.List; -import io.vavr.collection.Stream; -import io.vavr.collection.Vector; -import io.vavr.control.Option; -import io.vavr.control.Try; - -public class CollectionFactoryMethodsUnitTest { - - @Test - public void givenANoneOptionElement_whenCreated_thenCorrect() { - Option none = None(); - assertFalse(none == null); - assertEquals(none, Option.none()); - } - - @Test - public void givenASomeOptionElement_whenCreated_thenCorrect() { - Option some = Some(1); - assertFalse(some == null); - assertTrue(some.contains(1)); - } - - @Test - public void givenATupleElement_whenCreated_thenCorrect() { - Tuple3 tuple = Tuple('a', "chain", 2); - assertTrue(tuple!=null); - assertEquals(tuple._1(), new Character('a')); - assertEquals(tuple._2(), "chain"); - assertEquals(tuple._3().intValue(), 2); - } - - @Test - public void givenASuccessObject_whenEvaluated_thenSuccess() { - Try integer = Success(55); - assertEquals(integer.get().intValue(), 55); - } - @Test - public void givenAFailureObject_whenEvaluated_thenExceptionThrown() { - Try failure = Failure(new Exception("Exception X encapsulated here")); - - try { - Integer i = failure.get();// evaluate a failure raise the exception - System.out.println(i);// not executed - } catch (Exception e) { - assertEquals(e.getMessage(), "Exception X encapsulated here"); - } - } - - @Test - public void givenAList_whenCreated_thenCorrect() { - List list = List(1, 2, 3, 4, 5); - - assertEquals(list.size(), 5); - assertEquals(list.get(0).intValue(), 1); - } - - @Test - public void givenAnEmptyList_whenCreated_thenCorrect() { - List empty = List(); - - assertEquals(empty.size(), 0); - assertEquals(empty, List.empty()); - } - - @Test - public void givenAnArray_whenCreated_thenCorrect() { - Array array = Array(1, 2, 3, 4, 5); - - assertEquals(array.size(), 5); - assertEquals(array.get(0).intValue(), 1); - } - - @Test - public void givenAStream_whenCreated_thenCorrect() { - Stream stream = Stream(1, 2, 3, 4, 5); - - assertEquals(stream.size(), 5); - assertEquals(stream.get(0).intValue(), 1); - } - - @Test - public void givenAVector_whenCreated_thenCorrect() { - Vector vector = Vector(1, 2, 3, 4, 5); - - assertEquals(vector.size(), 5); - assertEquals(vector.get(0).intValue(), 1); - } -} +package com.baeldung.vavr.collections; + +import static io.vavr.API.Array; +import static io.vavr.API.Failure; +import static io.vavr.API.List; +import static io.vavr.API.None; +import static io.vavr.API.Some; +import static io.vavr.API.Stream; +import static io.vavr.API.Success; +import static io.vavr.API.Tuple; +import static io.vavr.API.Vector; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +import io.vavr.Tuple3; +import io.vavr.collection.Array; +import io.vavr.collection.List; +import io.vavr.collection.Stream; +import io.vavr.collection.Vector; +import io.vavr.control.Option; +import io.vavr.control.Try; + +public class CollectionFactoryMethodsUnitTest { + + @Test + public void givenANoneOptionElement_whenCreated_thenCorrect() { + Option none = None(); + assertFalse(none == null); + assertEquals(none, Option.none()); + } + + @Test + public void givenASomeOptionElement_whenCreated_thenCorrect() { + Option some = Some(1); + assertFalse(some == null); + assertTrue(some.contains(1)); + } + + @Test + public void givenATupleElement_whenCreated_thenCorrect() { + Tuple3 tuple = Tuple('a', "chain", 2); + assertTrue(tuple!=null); + assertEquals(tuple._1(), new Character('a')); + assertEquals(tuple._2(), "chain"); + assertEquals(tuple._3().intValue(), 2); + } + + @Test + public void givenASuccessObject_whenEvaluated_thenSuccess() { + Try integer = Success(55); + assertEquals(integer.get().intValue(), 55); + } + @Test + public void givenAFailureObject_whenEvaluated_thenExceptionThrown() { + Try failure = Failure(new Exception("Exception X encapsulated here")); + + try { + Integer i = failure.get();// evaluate a failure raise the exception + System.out.println(i);// not executed + } catch (Exception e) { + assertEquals(e.getMessage(), "Exception X encapsulated here"); + } + } + + @Test + public void givenAList_whenCreated_thenCorrect() { + List list = List(1, 2, 3, 4, 5); + + assertEquals(list.size(), 5); + assertEquals(list.get(0).intValue(), 1); + } + + @Test + public void givenAnEmptyList_whenCreated_thenCorrect() { + List empty = List(); + + assertEquals(empty.size(), 0); + assertEquals(empty, List.empty()); + } + + @Test + public void givenAnArray_whenCreated_thenCorrect() { + Array array = Array(1, 2, 3, 4, 5); + + assertEquals(array.size(), 5); + assertEquals(array.get(0).intValue(), 1); + } + + @Test + public void givenAStream_whenCreated_thenCorrect() { + Stream stream = Stream(1, 2, 3, 4, 5); + + assertEquals(stream.size(), 5); + assertEquals(stream.get(0).intValue(), 1); + } + + @Test + public void givenAVector_whenCreated_thenCorrect() { + Vector vector = Vector(1, 2, 3, 4, 5); + + assertEquals(vector.size(), 5); + assertEquals(vector.get(0).intValue(), 1); + } +} diff --git a/vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrExceptionHandlingUnitTest.java b/vavr-modules/vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrExceptionHandlingUnitTest.java similarity index 96% rename from vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrExceptionHandlingUnitTest.java rename to vavr-modules/vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrExceptionHandlingUnitTest.java index 140593218f..5be2526c0b 100644 --- a/vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrExceptionHandlingUnitTest.java +++ b/vavr-modules/vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrExceptionHandlingUnitTest.java @@ -1,87 +1,87 @@ -package com.baeldung.vavr.exception.handling; - -import io.vavr.API; -import io.vavr.CheckedFunction1; -import io.vavr.Value; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; -import java.util.Arrays; -import java.util.List; - -public class VavrExceptionHandlingUnitTest { - - private static final Logger LOG = LoggerFactory.getLogger(VavrExceptionHandlingUnitTest.class); - - private List integers; - private List validIntegersOnly; - - @Before - public void init() { - integers = Arrays.asList(3, 9, 7, 0, 10, 20); - validIntegersOnly = Arrays.asList(3, 9, 7, 5, 10, 20); - } - - @Test - public void exceptionCausingMethod_UsingCheckedFunction_ThenSuccess() { - CheckedFunction1 fn = i -> readFromFile(i); - - validIntegersOnly.stream().map(fn.unchecked()).forEach(i -> LOG.debug("{}", i)); - } - - @Test(expected = IOException.class) - public void exceptionCausingMethod_UsingCheckedFunction_ThenFailure() { - CheckedFunction1 fn = i -> readFromFile(i); - - integers.stream().map(fn.unchecked()).forEach(i -> LOG.debug("{}", i)); - } - - @Test - public void exceptionCausingMethod_UsingAPI_ThenSuccess() { - validIntegersOnly.stream().map(API.unchecked(i -> readFromFile(i))).forEach(i -> LOG.debug("{}", i)); - } - - @Test(expected = IOException.class) - public void exceptionCausingMethod_UsingAPI_ThenFailure() { - integers.stream().map(API.unchecked(i -> readFromFile(i))).forEach(i -> LOG.debug("{}", i)); - } - - @Test - public void exceptionCausingMethod_UsingLift_ThenSuccess() { - validIntegersOnly.stream().map(CheckedFunction1.lift(i -> readFromFile(i))) - .map(i -> i.getOrElse(-1)) - .forEach(i -> { - Assert.assertNotSame(-1, i); - LOG.debug("{}", i); - }); - } - - @Test - public void exceptionCausingMethod_UsingLift_ThenFailure() { - integers.stream() - .map(CheckedFunction1.lift(i -> readFromFile(i))) - .map(i -> i.getOrElse(-1)) - .forEach(i -> LOG.debug("{}", i)); - - } - - @Test - public void exceptionCausingMethod_UsingTry_ThenSuccess() { - integers.stream() - .map(CheckedFunction1.liftTry(VavrExceptionHandlingUnitTest::readFromFile)) - .flatMap(Value::toJavaStream) - .forEach(i -> LOG.debug("{}", i)); - } - - private static Integer readFromFile(Integer i) throws IOException { - if (i == 0) { - throw new IOException(); // mock IOException - } - return i * i; - } - -} +package com.baeldung.vavr.exception.handling; + +import io.vavr.API; +import io.vavr.CheckedFunction1; +import io.vavr.Value; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +public class VavrExceptionHandlingUnitTest { + + private static final Logger LOG = LoggerFactory.getLogger(VavrExceptionHandlingUnitTest.class); + + private List integers; + private List validIntegersOnly; + + @Before + public void init() { + integers = Arrays.asList(3, 9, 7, 0, 10, 20); + validIntegersOnly = Arrays.asList(3, 9, 7, 5, 10, 20); + } + + @Test + public void exceptionCausingMethod_UsingCheckedFunction_ThenSuccess() { + CheckedFunction1 fn = i -> readFromFile(i); + + validIntegersOnly.stream().map(fn.unchecked()).forEach(i -> LOG.debug("{}", i)); + } + + @Test(expected = IOException.class) + public void exceptionCausingMethod_UsingCheckedFunction_ThenFailure() { + CheckedFunction1 fn = i -> readFromFile(i); + + integers.stream().map(fn.unchecked()).forEach(i -> LOG.debug("{}", i)); + } + + @Test + public void exceptionCausingMethod_UsingAPI_ThenSuccess() { + validIntegersOnly.stream().map(API.unchecked(i -> readFromFile(i))).forEach(i -> LOG.debug("{}", i)); + } + + @Test(expected = IOException.class) + public void exceptionCausingMethod_UsingAPI_ThenFailure() { + integers.stream().map(API.unchecked(i -> readFromFile(i))).forEach(i -> LOG.debug("{}", i)); + } + + @Test + public void exceptionCausingMethod_UsingLift_ThenSuccess() { + validIntegersOnly.stream().map(CheckedFunction1.lift(i -> readFromFile(i))) + .map(i -> i.getOrElse(-1)) + .forEach(i -> { + Assert.assertNotSame(-1, i); + LOG.debug("{}", i); + }); + } + + @Test + public void exceptionCausingMethod_UsingLift_ThenFailure() { + integers.stream() + .map(CheckedFunction1.lift(i -> readFromFile(i))) + .map(i -> i.getOrElse(-1)) + .forEach(i -> LOG.debug("{}", i)); + + } + + @Test + public void exceptionCausingMethod_UsingTry_ThenSuccess() { + integers.stream() + .map(CheckedFunction1.liftTry(VavrExceptionHandlingUnitTest::readFromFile)) + .flatMap(Value::toJavaStream) + .forEach(i -> LOG.debug("{}", i)); + } + + private static Integer readFromFile(Integer i) throws IOException { + if (i == 0) { + throw new IOException(); // mock IOException + } + return i * i; + } + +} diff --git a/vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrTryUnitTest.java b/vavr-modules/vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrTryUnitTest.java similarity index 100% rename from vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrTryUnitTest.java rename to vavr-modules/vavr/src/test/java/com/baeldung/vavr/exception/handling/VavrTryUnitTest.java diff --git a/vavr/src/test/java/com/baeldung/vavr/future/FutureUnitTest.java b/vavr-modules/vavr/src/test/java/com/baeldung/vavr/future/FutureUnitTest.java similarity index 100% rename from vavr/src/test/java/com/baeldung/vavr/future/FutureUnitTest.java rename to vavr-modules/vavr/src/test/java/com/baeldung/vavr/future/FutureUnitTest.java diff --git a/vavr/src/test/java/com/baeldung/vavr/repositories/VavrRepositoryIntegrationTest.java b/vavr-modules/vavr/src/test/java/com/baeldung/vavr/repositories/VavrRepositoryIntegrationTest.java similarity index 100% rename from vavr/src/test/java/com/baeldung/vavr/repositories/VavrRepositoryIntegrationTest.java rename to vavr-modules/vavr/src/test/java/com/baeldung/vavr/repositories/VavrRepositoryIntegrationTest.java diff --git a/vavr/src/test/java/com/baeldung/vavrvalidation/validator/UserValidatorUnitTest.java b/vavr-modules/vavr/src/test/java/com/baeldung/vavrvalidation/validator/UserValidatorUnitTest.java similarity index 100% rename from vavr/src/test/java/com/baeldung/vavrvalidation/validator/UserValidatorUnitTest.java rename to vavr-modules/vavr/src/test/java/com/baeldung/vavrvalidation/validator/UserValidatorUnitTest.java diff --git a/vavr/src/test/java/com/baeldung/vavrvalidation/validator/ValidationUnitTest.java b/vavr-modules/vavr/src/test/java/com/baeldung/vavrvalidation/validator/ValidationUnitTest.java similarity index 100% rename from vavr/src/test/java/com/baeldung/vavrvalidation/validator/ValidationUnitTest.java rename to vavr-modules/vavr/src/test/java/com/baeldung/vavrvalidation/validator/ValidationUnitTest.java