diff --git a/.gitignore b/.gitignore index 6621476..c8dd5a4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,15 @@ /target/ build/ +gradle/ +gradlew +gradlew.bat +bin/ +wrapper/ +.idea/ .classpath .project .settings +.gradle +mastering-guava.iml +mastering-guava.ipr +mastering-guava.iws diff --git a/README.md b/README.md index 1225750..f6817a1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,27 @@ -[![Stories in Ready](https://badge.waffle.io/craft-coder/java8-guides-tutorials.png?label=ready&title=Ready)](https://waffle.io/craft-coder/java8-guides-tutorials) -# java8-guides-tutorials -Java 8 - Guides and Tutorias +# Java 8 Guides and Tutorials + +**Java 8** changed the way that we think and code. Here you will see a **lot of articles and tutorials** +about Java 8, how to use its awesome features and how to get your life easier! Enjoy! + +- [Twitter](https://twitter.com/_alex_gama) +- [GitHub](https://github.com/alexandregama) +- [Linkedin](https://www.linkedin.com/in/alexandregama/) +- [Instagram](https://www.instagram.com/_alex_gama) +- [Youtube](https://www.youtube.com/channel/UCn09BXJXOCPLARsqNvxEFuw) + +Running out of time? +Go straight to what you want :) + +- [Java 8 - Lambda Expression](https://github.com/alexandregama/java8-guides-tutorials/blob/master/src/test/java/lambda/LambdaExpressionTest.java) +- [Java 8 - Default Methods](https://github.com/alexandregama/java8-guides-tutorials/blob/master/src/test/java/defaultmethod/DefaultMethodTest.java) +- [Java 8 - Functions](https://github.com/alexandregama/java8-guides-tutorials/tree/master/src/test/java/functions) +- [Java 8 - Stream Count](https://github.com/alexandregama/java8-guides-tutorials/blob/master/src/test/java/streams/StreamWithCountTest.java) +- [Java 8 - Stream with Filter](https://github.com/alexandregama/java8-guides-tutorials/blob/master/src/test/java/streams/StreamWithFilterTest.java) +- [Java 8 - Stream with Map](https://github.com/alexandregama/java8-guides-tutorials/blob/master/src/test/java/streams/StreamWithMapTest.java) +- [Java 8 - Stream with Sorted](https://github.com/alexandregama/java8-guides-tutorials/blob/master/src/test/java/streams/StreamWithSortedTest.java) +- [Java 8 - Stream with Match](https://github.com/alexandregama/java8-guides-tutorials/blob/master/src/test/java/streams/StreamWithMatchTest.java) +- [Java 8 - Stream Reduce](https://github.com/alexandregama/java8-guides-tutorials/blob/master/src/test/java/streams/StreamReduceTest.java) +- [Java 8 - Stream Consumer](https://github.com/alexandregama/java8-guides-tutorials/blob/master/src/test/java/consumer/ConsumerFunctionalInterfaceTest.java) +- [Java 8 - Predicate](https://github.com/alexandregama/java8-guides-tutorials/blob/master/src/test/java/predicate/PredicateFunctionalInterfaceTest.java) +- [Java 8 - Comparator](https://github.com/alexandregama/java8-guides-tutorials/blob/master/src/test/java/comparator/ComparatorFunctionalInterfaceTest.java) +- [Java 8 - Suppliers](https://github.com/alexandregama/java8-guides-tutorials/blob/master/src/test/java/suppliers/SupplierFunctionalInterfaceTest.java) \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..85e1873 --- /dev/null +++ b/build.gradle @@ -0,0 +1,15 @@ +plugins { + id 'java' + id 'eclipse' // optional (to generate Eclipse project files) + id 'idea' // optional (to generate IntelliJ IDEA project files) +} + +repositories { + mavenCentral() +} + +dependencies { + testImplementation 'org.hamcrest:hamcrest:2.2' + testImplementation 'org.hamcrest:hamcrest-library:2.2' + testImplementation 'junit:junit:4.12' +} diff --git a/java8-comparators/.gitignore b/java8-comparators/.gitignore deleted file mode 100644 index 6621476..0000000 --- a/java8-comparators/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -build/ -.classpath -.project -.settings diff --git a/java8-comparators/README.md b/java8-comparators/README.md deleted file mode 100644 index 77264b3..0000000 --- a/java8-comparators/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# java8-guides-tutorials -Java 8 - Guides and Tutorias diff --git a/java8-comparators/pom.xml b/java8-comparators/pom.xml deleted file mode 100644 index e0e0fc6..0000000 --- a/java8-comparators/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.craftcoder.java8 - java8-comparators - 0.0.1-SNAPSHOT - jar - - java8-comparators - http://maven.apache.org - - - UTF-8 - - - - - - org.hamcrest - hamcrest-all - 1.3 - - - - junit - junit - 4.12 - test - - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - true - - - - - - diff --git a/java8-comparators/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java b/java8-comparators/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java deleted file mode 100644 index 61dbdcd..0000000 --- a/java8-comparators/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.craftcoder.java8.defaultmethod; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import org.junit.Ignore; -import org.junit.Test; - -public class DefaultMethodTest { - - /** - * In this example, we don't need to use the default method send() from PaymentService interface - */ - @Ignore - @Test - public void shouldRetrieveTheDefaultFees() throws Exception { - PaymentService service = new PayPalPaymentService(); - - double fees = service.retrieveDefaultFees(); - - assertThat(fees, equalTo(10.9)); - } - - @Test - public void shouldInvokeTheDefaultMethodFromPaymentService() throws Exception { - PaymentService paymentService = new PayPalPaymentService(); - - double valueSent = paymentService.send(20); - - assertThat(valueSent, equalTo(20.0)); - } - -} - - -interface PaymentService { - - double retrieveDefaultFees(); - - default double send(double value) { - System.out.println("Sending the value: " + value); - - return value; - } - -} - -class PayPalPaymentService implements PaymentService { - - @Override - public double retrieveDefaultFees() { - return 10.9; - } - -} \ No newline at end of file diff --git a/java8-consumers/.gitignore b/java8-consumers/.gitignore deleted file mode 100644 index 6621476..0000000 --- a/java8-consumers/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -build/ -.classpath -.project -.settings diff --git a/java8-consumers/README.md b/java8-consumers/README.md deleted file mode 100644 index 77264b3..0000000 --- a/java8-consumers/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# java8-guides-tutorials -Java 8 - Guides and Tutorias diff --git a/java8-consumers/pom.xml b/java8-consumers/pom.xml deleted file mode 100644 index cf40fff..0000000 --- a/java8-consumers/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.craftcoder.java8 - java8-consumers - 0.0.1-SNAPSHOT - jar - - java8-consumers - http://maven.apache.org - - - UTF-8 - - - - - - org.hamcrest - hamcrest-all - 1.3 - - - - junit - junit - 4.12 - test - - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - true - - - - - - diff --git a/java8-consumers/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java b/java8-consumers/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java deleted file mode 100644 index 61dbdcd..0000000 --- a/java8-consumers/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.craftcoder.java8.defaultmethod; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import org.junit.Ignore; -import org.junit.Test; - -public class DefaultMethodTest { - - /** - * In this example, we don't need to use the default method send() from PaymentService interface - */ - @Ignore - @Test - public void shouldRetrieveTheDefaultFees() throws Exception { - PaymentService service = new PayPalPaymentService(); - - double fees = service.retrieveDefaultFees(); - - assertThat(fees, equalTo(10.9)); - } - - @Test - public void shouldInvokeTheDefaultMethodFromPaymentService() throws Exception { - PaymentService paymentService = new PayPalPaymentService(); - - double valueSent = paymentService.send(20); - - assertThat(valueSent, equalTo(20.0)); - } - -} - - -interface PaymentService { - - double retrieveDefaultFees(); - - default double send(double value) { - System.out.println("Sending the value: " + value); - - return value; - } - -} - -class PayPalPaymentService implements PaymentService { - - @Override - public double retrieveDefaultFees() { - return 10.9; - } - -} \ No newline at end of file diff --git a/java8-default-methods/.gitignore b/java8-default-methods/.gitignore deleted file mode 100644 index 6621476..0000000 --- a/java8-default-methods/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -build/ -.classpath -.project -.settings diff --git a/java8-default-methods/README.md b/java8-default-methods/README.md deleted file mode 100644 index 77264b3..0000000 --- a/java8-default-methods/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# java8-guides-tutorials -Java 8 - Guides and Tutorias diff --git a/java8-default-methods/pom.xml b/java8-default-methods/pom.xml deleted file mode 100644 index f3bc480..0000000 --- a/java8-default-methods/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.craftcoder.java8 - java8-default-methods - 0.0.1-SNAPSHOT - jar - - java8-default-methods - http://maven.apache.org - - - UTF-8 - - - - - - org.hamcrest - hamcrest-all - 1.3 - - - - junit - junit - 4.12 - test - - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - true - - - - - - diff --git a/java8-default-methods/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java b/java8-default-methods/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java deleted file mode 100644 index 61dbdcd..0000000 --- a/java8-default-methods/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.craftcoder.java8.defaultmethod; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import org.junit.Ignore; -import org.junit.Test; - -public class DefaultMethodTest { - - /** - * In this example, we don't need to use the default method send() from PaymentService interface - */ - @Ignore - @Test - public void shouldRetrieveTheDefaultFees() throws Exception { - PaymentService service = new PayPalPaymentService(); - - double fees = service.retrieveDefaultFees(); - - assertThat(fees, equalTo(10.9)); - } - - @Test - public void shouldInvokeTheDefaultMethodFromPaymentService() throws Exception { - PaymentService paymentService = new PayPalPaymentService(); - - double valueSent = paymentService.send(20); - - assertThat(valueSent, equalTo(20.0)); - } - -} - - -interface PaymentService { - - double retrieveDefaultFees(); - - default double send(double value) { - System.out.println("Sending the value: " + value); - - return value; - } - -} - -class PayPalPaymentService implements PaymentService { - - @Override - public double retrieveDefaultFees() { - return 10.9; - } - -} \ No newline at end of file diff --git a/java8-default-methods/src/test/java/com/craftcoder/java8/defaultmethod/PaymentTest.java b/java8-default-methods/src/test/java/com/craftcoder/java8/defaultmethod/PaymentTest.java deleted file mode 100644 index 1c9f216..0000000 --- a/java8-default-methods/src/test/java/com/craftcoder/java8/defaultmethod/PaymentTest.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.craftcoder.java8.defaultmethod; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import org.junit.Test; - -public class PaymentTest { - - @Test - public void shouldCalculateTheOrderPriceUsingPayPalService() throws Exception { - PaymentService payment = new PayPalPaymentService(); - - double orderPrice = 100.0; - double finalPrice = payment.calculeOrder(orderPrice); - - assertThat(finalPrice, equalTo(80.0)); - } - - @Test - public void shouldCalculateTheOrderPriceUsingMoipService() throws Exception { - PaymentService payment = new MoipPaymentService(); - - double orderPrice = 100.0; - double finalPrice = payment.calculeOrder(orderPrice); - - assertThat(finalPrice, equalTo(90.0)); - } - -} - - -interface PaymentService { - - double discount(); - - default double calculeOrder(double orderPrice) { - return orderPrice - (orderPrice * discount()); - } - -} - -class PayPalPaymentService implements PaymentService { - - @Override - public double discount() { - return 0.20; - } - -} - -class MoipPaymentService implements PaymentService { - - @Override - public double discount() { - return 0.10; - } - -} \ No newline at end of file diff --git a/java8-functional-interface/.gitignore b/java8-functional-interface/.gitignore deleted file mode 100644 index 6621476..0000000 --- a/java8-functional-interface/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -build/ -.classpath -.project -.settings diff --git a/java8-functional-interface/README.md b/java8-functional-interface/README.md deleted file mode 100644 index 77264b3..0000000 --- a/java8-functional-interface/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# java8-guides-tutorials -Java 8 - Guides and Tutorias diff --git a/java8-functional-interface/pom.xml b/java8-functional-interface/pom.xml deleted file mode 100644 index e176bef..0000000 --- a/java8-functional-interface/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.craftcoder.java8 - java8-functional-interface - 0.0.1-SNAPSHOT - jar - - java8-functional-interface - http://maven.apache.org - - - UTF-8 - - - - - - org.hamcrest - hamcrest-all - 1.3 - - - - junit - junit - 4.12 - test - - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - true - - - - - - diff --git a/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/AnotherFakeFunctionalInterface.class b/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/AnotherFakeFunctionalInterface.class deleted file mode 100644 index 4726f67..0000000 Binary files a/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/AnotherFakeFunctionalInterface.class and /dev/null differ diff --git a/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/FakeFunctionalInterface.class b/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/FakeFunctionalInterface.class deleted file mode 100644 index 6065e89..0000000 Binary files a/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/FakeFunctionalInterface.class and /dev/null differ diff --git a/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/FunctionalInterfaceTest$1.class b/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/FunctionalInterfaceTest$1.class deleted file mode 100644 index e600338..0000000 Binary files a/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/FunctionalInterfaceTest$1.class and /dev/null differ diff --git a/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/FunctionalInterfaceTest.class b/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/FunctionalInterfaceTest.class deleted file mode 100644 index 891a4f3..0000000 Binary files a/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/FunctionalInterfaceTest.class and /dev/null differ diff --git a/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/RealFunctionalInterface.class b/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/RealFunctionalInterface.class deleted file mode 100644 index 4ba6dbc..0000000 Binary files a/java8-functional-interface/target/test-classes/com/craftcoder/java8/functionalinterface/RealFunctionalInterface.class and /dev/null differ diff --git a/java8-functions/.gitignore b/java8-functions/.gitignore deleted file mode 100644 index 6621476..0000000 --- a/java8-functions/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -build/ -.classpath -.project -.settings diff --git a/java8-functions/README.md b/java8-functions/README.md deleted file mode 100644 index 77264b3..0000000 --- a/java8-functions/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# java8-guides-tutorials -Java 8 - Guides and Tutorias diff --git a/java8-functions/pom.xml b/java8-functions/pom.xml deleted file mode 100644 index fe3c07f..0000000 --- a/java8-functions/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.craftcoder.java8 - java8-functions - 0.0.1-SNAPSHOT - jar - - java8-functions - http://maven.apache.org - - - UTF-8 - - - - - - org.hamcrest - hamcrest-all - 1.3 - - - - junit - junit - 4.12 - test - - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - true - - - - - - diff --git a/java8-functions/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java b/java8-functions/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java deleted file mode 100644 index 61dbdcd..0000000 --- a/java8-functions/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.craftcoder.java8.defaultmethod; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import org.junit.Ignore; -import org.junit.Test; - -public class DefaultMethodTest { - - /** - * In this example, we don't need to use the default method send() from PaymentService interface - */ - @Ignore - @Test - public void shouldRetrieveTheDefaultFees() throws Exception { - PaymentService service = new PayPalPaymentService(); - - double fees = service.retrieveDefaultFees(); - - assertThat(fees, equalTo(10.9)); - } - - @Test - public void shouldInvokeTheDefaultMethodFromPaymentService() throws Exception { - PaymentService paymentService = new PayPalPaymentService(); - - double valueSent = paymentService.send(20); - - assertThat(valueSent, equalTo(20.0)); - } - -} - - -interface PaymentService { - - double retrieveDefaultFees(); - - default double send(double value) { - System.out.println("Sending the value: " + value); - - return value; - } - -} - -class PayPalPaymentService implements PaymentService { - - @Override - public double retrieveDefaultFees() { - return 10.9; - } - -} \ No newline at end of file diff --git a/java8-lambda-expression/.gitignore b/java8-lambda-expression/.gitignore deleted file mode 100644 index 6621476..0000000 --- a/java8-lambda-expression/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -build/ -.classpath -.project -.settings diff --git a/java8-lambda-expression/README.md b/java8-lambda-expression/README.md deleted file mode 100644 index 77264b3..0000000 --- a/java8-lambda-expression/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# java8-guides-tutorials -Java 8 - Guides and Tutorias diff --git a/java8-lambda-expression/pom.xml b/java8-lambda-expression/pom.xml deleted file mode 100644 index aa3990b..0000000 --- a/java8-lambda-expression/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.craftcoder.java8 - java8-lambda-expression - 0.0.1-SNAPSHOT - jar - - java8-lambda-expression - http://maven.apache.org - - - UTF-8 - - - - - - org.hamcrest - hamcrest-all - 1.3 - - - - junit - junit - 4.12 - test - - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - true - - - - - - diff --git a/java8-lambda-expression/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java b/java8-lambda-expression/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java deleted file mode 100644 index 61dbdcd..0000000 --- a/java8-lambda-expression/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.craftcoder.java8.defaultmethod; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import org.junit.Ignore; -import org.junit.Test; - -public class DefaultMethodTest { - - /** - * In this example, we don't need to use the default method send() from PaymentService interface - */ - @Ignore - @Test - public void shouldRetrieveTheDefaultFees() throws Exception { - PaymentService service = new PayPalPaymentService(); - - double fees = service.retrieveDefaultFees(); - - assertThat(fees, equalTo(10.9)); - } - - @Test - public void shouldInvokeTheDefaultMethodFromPaymentService() throws Exception { - PaymentService paymentService = new PayPalPaymentService(); - - double valueSent = paymentService.send(20); - - assertThat(valueSent, equalTo(20.0)); - } - -} - - -interface PaymentService { - - double retrieveDefaultFees(); - - default double send(double value) { - System.out.println("Sending the value: " + value); - - return value; - } - -} - -class PayPalPaymentService implements PaymentService { - - @Override - public double retrieveDefaultFees() { - return 10.9; - } - -} \ No newline at end of file diff --git a/java8-predicates/.gitignore b/java8-predicates/.gitignore deleted file mode 100644 index 6621476..0000000 --- a/java8-predicates/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -build/ -.classpath -.project -.settings diff --git a/java8-predicates/README.md b/java8-predicates/README.md deleted file mode 100644 index 77264b3..0000000 --- a/java8-predicates/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# java8-guides-tutorials -Java 8 - Guides and Tutorias diff --git a/java8-predicates/pom.xml b/java8-predicates/pom.xml deleted file mode 100644 index 89e1c6f..0000000 --- a/java8-predicates/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.craftcoder.java8 - java8-predicates - 0.0.1-SNAPSHOT - jar - - java8-predicates - http://maven.apache.org - - - UTF-8 - - - - - - org.hamcrest - hamcrest-all - 1.3 - - - - junit - junit - 4.12 - test - - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - true - - - - - - diff --git a/java8-predicates/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java b/java8-predicates/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java deleted file mode 100644 index 61dbdcd..0000000 --- a/java8-predicates/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.craftcoder.java8.defaultmethod; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import org.junit.Ignore; -import org.junit.Test; - -public class DefaultMethodTest { - - /** - * In this example, we don't need to use the default method send() from PaymentService interface - */ - @Ignore - @Test - public void shouldRetrieveTheDefaultFees() throws Exception { - PaymentService service = new PayPalPaymentService(); - - double fees = service.retrieveDefaultFees(); - - assertThat(fees, equalTo(10.9)); - } - - @Test - public void shouldInvokeTheDefaultMethodFromPaymentService() throws Exception { - PaymentService paymentService = new PayPalPaymentService(); - - double valueSent = paymentService.send(20); - - assertThat(valueSent, equalTo(20.0)); - } - -} - - -interface PaymentService { - - double retrieveDefaultFees(); - - default double send(double value) { - System.out.println("Sending the value: " + value); - - return value; - } - -} - -class PayPalPaymentService implements PaymentService { - - @Override - public double retrieveDefaultFees() { - return 10.9; - } - -} \ No newline at end of file diff --git a/java8-stream-filter/.gitignore b/java8-stream-filter/.gitignore deleted file mode 100644 index 6621476..0000000 --- a/java8-stream-filter/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -build/ -.classpath -.project -.settings diff --git a/java8-stream-filter/README.md b/java8-stream-filter/README.md deleted file mode 100644 index 77264b3..0000000 --- a/java8-stream-filter/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# java8-guides-tutorials -Java 8 - Guides and Tutorias diff --git a/java8-stream-filter/pom.xml b/java8-stream-filter/pom.xml deleted file mode 100644 index 701feb9..0000000 --- a/java8-stream-filter/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.craftcoder.java8 - java8-stream-filter - 0.0.1-SNAPSHOT - jar - - java8-stream-filter - http://maven.apache.org - - - UTF-8 - - - - - - org.hamcrest - hamcrest-all - 1.3 - - - - junit - junit - 4.12 - test - - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - true - - - - - - diff --git a/java8-stream-filter/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java b/java8-stream-filter/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java deleted file mode 100644 index 61dbdcd..0000000 --- a/java8-stream-filter/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.craftcoder.java8.defaultmethod; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import org.junit.Ignore; -import org.junit.Test; - -public class DefaultMethodTest { - - /** - * In this example, we don't need to use the default method send() from PaymentService interface - */ - @Ignore - @Test - public void shouldRetrieveTheDefaultFees() throws Exception { - PaymentService service = new PayPalPaymentService(); - - double fees = service.retrieveDefaultFees(); - - assertThat(fees, equalTo(10.9)); - } - - @Test - public void shouldInvokeTheDefaultMethodFromPaymentService() throws Exception { - PaymentService paymentService = new PayPalPaymentService(); - - double valueSent = paymentService.send(20); - - assertThat(valueSent, equalTo(20.0)); - } - -} - - -interface PaymentService { - - double retrieveDefaultFees(); - - default double send(double value) { - System.out.println("Sending the value: " + value); - - return value; - } - -} - -class PayPalPaymentService implements PaymentService { - - @Override - public double retrieveDefaultFees() { - return 10.9; - } - -} \ No newline at end of file diff --git a/java8-stream-map/.gitignore b/java8-stream-map/.gitignore deleted file mode 100644 index 6621476..0000000 --- a/java8-stream-map/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -build/ -.classpath -.project -.settings diff --git a/java8-stream-map/README.md b/java8-stream-map/README.md deleted file mode 100644 index 77264b3..0000000 --- a/java8-stream-map/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# java8-guides-tutorials -Java 8 - Guides and Tutorias diff --git a/java8-stream-map/pom.xml b/java8-stream-map/pom.xml deleted file mode 100644 index 48c5f46..0000000 --- a/java8-stream-map/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.craftcoder.java8 - java8-stream-map - 0.0.1-SNAPSHOT - jar - - java8-stream-map - http://maven.apache.org - - - UTF-8 - - - - - - org.hamcrest - hamcrest-all - 1.3 - - - - junit - junit - 4.12 - test - - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - true - - - - - - diff --git a/java8-stream-map/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java b/java8-stream-map/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java deleted file mode 100644 index 61dbdcd..0000000 --- a/java8-stream-map/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.craftcoder.java8.defaultmethod; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import org.junit.Ignore; -import org.junit.Test; - -public class DefaultMethodTest { - - /** - * In this example, we don't need to use the default method send() from PaymentService interface - */ - @Ignore - @Test - public void shouldRetrieveTheDefaultFees() throws Exception { - PaymentService service = new PayPalPaymentService(); - - double fees = service.retrieveDefaultFees(); - - assertThat(fees, equalTo(10.9)); - } - - @Test - public void shouldInvokeTheDefaultMethodFromPaymentService() throws Exception { - PaymentService paymentService = new PayPalPaymentService(); - - double valueSent = paymentService.send(20); - - assertThat(valueSent, equalTo(20.0)); - } - -} - - -interface PaymentService { - - double retrieveDefaultFees(); - - default double send(double value) { - System.out.println("Sending the value: " + value); - - return value; - } - -} - -class PayPalPaymentService implements PaymentService { - - @Override - public double retrieveDefaultFees() { - return 10.9; - } - -} \ No newline at end of file diff --git a/java8-stream-match/.gitignore b/java8-stream-match/.gitignore deleted file mode 100644 index 6621476..0000000 --- a/java8-stream-match/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -build/ -.classpath -.project -.settings diff --git a/java8-stream-match/README.md b/java8-stream-match/README.md deleted file mode 100644 index 77264b3..0000000 --- a/java8-stream-match/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# java8-guides-tutorials -Java 8 - Guides and Tutorias diff --git a/java8-stream-match/pom.xml b/java8-stream-match/pom.xml deleted file mode 100644 index 25e1c55..0000000 --- a/java8-stream-match/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.craftcoder.java8 - java8-stream-match - 0.0.1-SNAPSHOT - jar - - java8-stream-match - http://maven.apache.org - - - UTF-8 - - - - - - org.hamcrest - hamcrest-all - 1.3 - - - - junit - junit - 4.12 - test - - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - true - - - - - - diff --git a/java8-stream-sorted/.gitignore b/java8-stream-sorted/.gitignore deleted file mode 100644 index 6621476..0000000 --- a/java8-stream-sorted/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -build/ -.classpath -.project -.settings diff --git a/java8-stream-sorted/README.md b/java8-stream-sorted/README.md deleted file mode 100644 index 77264b3..0000000 --- a/java8-stream-sorted/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# java8-guides-tutorials -Java 8 - Guides and Tutorias diff --git a/java8-stream-sorted/pom.xml b/java8-stream-sorted/pom.xml deleted file mode 100644 index afee8fd..0000000 --- a/java8-stream-sorted/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.craftcoder.java8 - java8-stream-sorted - 0.0.1-SNAPSHOT - jar - - java8-stream-sorted - http://maven.apache.org - - - UTF-8 - - - - - - org.hamcrest - hamcrest-all - 1.3 - - - - junit - junit - 4.12 - test - - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - true - - - - - - diff --git a/java8-stream-sorted/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java b/java8-stream-sorted/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java deleted file mode 100644 index 61dbdcd..0000000 --- a/java8-stream-sorted/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.craftcoder.java8.defaultmethod; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import org.junit.Ignore; -import org.junit.Test; - -public class DefaultMethodTest { - - /** - * In this example, we don't need to use the default method send() from PaymentService interface - */ - @Ignore - @Test - public void shouldRetrieveTheDefaultFees() throws Exception { - PaymentService service = new PayPalPaymentService(); - - double fees = service.retrieveDefaultFees(); - - assertThat(fees, equalTo(10.9)); - } - - @Test - public void shouldInvokeTheDefaultMethodFromPaymentService() throws Exception { - PaymentService paymentService = new PayPalPaymentService(); - - double valueSent = paymentService.send(20); - - assertThat(valueSent, equalTo(20.0)); - } - -} - - -interface PaymentService { - - double retrieveDefaultFees(); - - default double send(double value) { - System.out.println("Sending the value: " + value); - - return value; - } - -} - -class PayPalPaymentService implements PaymentService { - - @Override - public double retrieveDefaultFees() { - return 10.9; - } - -} \ No newline at end of file diff --git a/java8-suppliers/.gitignore b/java8-suppliers/.gitignore deleted file mode 100644 index 6621476..0000000 --- a/java8-suppliers/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/target/ -build/ -.classpath -.project -.settings diff --git a/java8-suppliers/README.md b/java8-suppliers/README.md deleted file mode 100644 index 77264b3..0000000 --- a/java8-suppliers/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# java8-guides-tutorials -Java 8 - Guides and Tutorias diff --git a/java8-suppliers/pom.xml b/java8-suppliers/pom.xml deleted file mode 100644 index 4cdca8b..0000000 --- a/java8-suppliers/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - 4.0.0 - - com.craftcoder.java8 - java8-suppliers - 0.0.1-SNAPSHOT - jar - - java8-suppliers - http://maven.apache.org - - - UTF-8 - - - - - - org.hamcrest - hamcrest-all - 1.3 - - - - junit - junit - 4.12 - test - - - - - - - - - org.apache.maven.plugins - maven-eclipse-plugin - - true - true - - - - - - diff --git a/java8-suppliers/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java b/java8-suppliers/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java deleted file mode 100644 index 61dbdcd..0000000 --- a/java8-suppliers/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.craftcoder.java8.defaultmethod; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; - -import org.junit.Ignore; -import org.junit.Test; - -public class DefaultMethodTest { - - /** - * In this example, we don't need to use the default method send() from PaymentService interface - */ - @Ignore - @Test - public void shouldRetrieveTheDefaultFees() throws Exception { - PaymentService service = new PayPalPaymentService(); - - double fees = service.retrieveDefaultFees(); - - assertThat(fees, equalTo(10.9)); - } - - @Test - public void shouldInvokeTheDefaultMethodFromPaymentService() throws Exception { - PaymentService paymentService = new PayPalPaymentService(); - - double valueSent = paymentService.send(20); - - assertThat(valueSent, equalTo(20.0)); - } - -} - - -interface PaymentService { - - double retrieveDefaultFees(); - - default double send(double value) { - System.out.println("Sending the value: " + value); - - return value; - } - -} - -class PayPalPaymentService implements PaymentService { - - @Override - public double retrieveDefaultFees() { - return 10.9; - } - -} \ No newline at end of file diff --git a/pom.xml b/pom.xml index f4d7630..85e38dd 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.craftcoder.java8 + com.java8 java8-guides-tutorials 0.0.1-SNAPSHOT jar diff --git a/java8-comparators/src/test/java/com/craftcoder/java8/comparator/ComparatorFunctionalInterfaceTest.java b/src/test/java/comparator/ComparatorFunctionalInterfaceTest.java similarity index 92% rename from java8-comparators/src/test/java/com/craftcoder/java8/comparator/ComparatorFunctionalInterfaceTest.java rename to src/test/java/comparator/ComparatorFunctionalInterfaceTest.java index 63d09d8..22f5fa6 100644 --- a/java8-comparators/src/test/java/com/craftcoder/java8/comparator/ComparatorFunctionalInterfaceTest.java +++ b/src/test/java/comparator/ComparatorFunctionalInterfaceTest.java @@ -1,11 +1,11 @@ -package com.craftcoder.java8.comparator; +package comparator; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.greaterThan; -import static org.hamcrest.Matchers.lessThan; +import static org.hamcrest.Matchers.*; import java.util.Comparator; +import org.hamcrest.Matcher; import org.junit.Test; public class ComparatorFunctionalInterfaceTest { diff --git a/java8-consumers/src/test/java/com/craftcoder/java8/consumers/ConsumerFunctionalInterfaceTest.java b/src/test/java/consumer/ConsumerFunctionalInterfaceTest.java similarity index 97% rename from java8-consumers/src/test/java/com/craftcoder/java8/consumers/ConsumerFunctionalInterfaceTest.java rename to src/test/java/consumer/ConsumerFunctionalInterfaceTest.java index 220f6b6..20631df 100644 --- a/java8-consumers/src/test/java/com/craftcoder/java8/consumers/ConsumerFunctionalInterfaceTest.java +++ b/src/test/java/consumer/ConsumerFunctionalInterfaceTest.java @@ -1,4 +1,4 @@ -package com.craftcoder.java8.consumers; +package consumer; import java.util.Arrays; import java.util.List; diff --git a/java8-functional-interface/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java b/src/test/java/defaultmethod/DefaultMethodTest.java similarity index 92% rename from java8-functional-interface/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java rename to src/test/java/defaultmethod/DefaultMethodTest.java index 61dbdcd..d16666e 100644 --- a/java8-functional-interface/src/java/test/com/craftcoder/java8/defaultmethod/DefaultMethodTest.java +++ b/src/test/java/defaultmethod/DefaultMethodTest.java @@ -1,7 +1,7 @@ -package com.craftcoder.java8.defaultmethod; +package defaultmethod; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.CoreMatchers.*; import org.junit.Ignore; import org.junit.Test; diff --git a/java8-functions/src/test/java/com/craftcoder/java8/functions/FunctionFunctionalInterfaceTest.java b/src/test/java/functions/FunctionFunctionalInterfaceTest.java similarity index 95% rename from java8-functions/src/test/java/com/craftcoder/java8/functions/FunctionFunctionalInterfaceTest.java rename to src/test/java/functions/FunctionFunctionalInterfaceTest.java index 98f80f4..b661d12 100644 --- a/java8-functions/src/test/java/com/craftcoder/java8/functions/FunctionFunctionalInterfaceTest.java +++ b/src/test/java/functions/FunctionFunctionalInterfaceTest.java @@ -1,7 +1,7 @@ -package com.craftcoder.java8.functions; +package functions; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.CoreMatchers.*; import java.util.function.Function; diff --git a/java8-functional-interface/src/test/java/com/craftcoder/java8/functionalinterface/AnotherFakeFunctionalInterface.java b/src/test/java/functions/functionalinterface/AnotherFakeFunctionalInterface.java similarity index 69% rename from java8-functional-interface/src/test/java/com/craftcoder/java8/functionalinterface/AnotherFakeFunctionalInterface.java rename to src/test/java/functions/functionalinterface/AnotherFakeFunctionalInterface.java index 1dc0c78..a2dc9e5 100644 --- a/java8-functional-interface/src/test/java/com/craftcoder/java8/functionalinterface/AnotherFakeFunctionalInterface.java +++ b/src/test/java/functions/functionalinterface/AnotherFakeFunctionalInterface.java @@ -1,4 +1,4 @@ -package com.craftcoder.java8.functionalinterface; +package functions.functionalinterface; public interface AnotherFakeFunctionalInterface { diff --git a/java8-functional-interface/src/test/java/com/craftcoder/java8/functionalinterface/FakeFunctionalInterface.java b/src/test/java/functions/functionalinterface/FakeFunctionalInterface.java similarity index 79% rename from java8-functional-interface/src/test/java/com/craftcoder/java8/functionalinterface/FakeFunctionalInterface.java rename to src/test/java/functions/functionalinterface/FakeFunctionalInterface.java index 620984f..87faf56 100644 --- a/java8-functional-interface/src/test/java/com/craftcoder/java8/functionalinterface/FakeFunctionalInterface.java +++ b/src/test/java/functions/functionalinterface/FakeFunctionalInterface.java @@ -1,4 +1,4 @@ -package com.craftcoder.java8.functionalinterface; +package functions.functionalinterface; @FunctionalInterface public interface FakeFunctionalInterface { diff --git a/java8-functional-interface/src/test/java/com/craftcoder/java8/functionalinterface/FunctionalInterfaceTest.java b/src/test/java/functions/functionalinterface/FunctionalInterfaceTest.java similarity index 93% rename from java8-functional-interface/src/test/java/com/craftcoder/java8/functionalinterface/FunctionalInterfaceTest.java rename to src/test/java/functions/functionalinterface/FunctionalInterfaceTest.java index 0f2ce6d..52816da 100644 --- a/java8-functional-interface/src/test/java/com/craftcoder/java8/functionalinterface/FunctionalInterfaceTest.java +++ b/src/test/java/functions/functionalinterface/FunctionalInterfaceTest.java @@ -1,4 +1,4 @@ -package com.craftcoder.java8.functionalinterface; +package functions.functionalinterface; import org.junit.Test; diff --git a/java8-functional-interface/src/test/java/com/craftcoder/java8/functionalinterface/RealFunctionalInterface.java b/src/test/java/functions/functionalinterface/RealFunctionalInterface.java similarity index 64% rename from java8-functional-interface/src/test/java/com/craftcoder/java8/functionalinterface/RealFunctionalInterface.java rename to src/test/java/functions/functionalinterface/RealFunctionalInterface.java index bd68cdb..bc6c224 100644 --- a/java8-functional-interface/src/test/java/com/craftcoder/java8/functionalinterface/RealFunctionalInterface.java +++ b/src/test/java/functions/functionalinterface/RealFunctionalInterface.java @@ -1,4 +1,4 @@ -package com.craftcoder.java8.functionalinterface; +package functions.functionalinterface; @FunctionalInterface public interface RealFunctionalInterface { diff --git a/java8-lambda-expression/src/test/java/com/craftcoder/java8/lambda/LambdaExpressionTest.java b/src/test/java/lambda/LambdaExpressionTest.java similarity index 76% rename from java8-lambda-expression/src/test/java/com/craftcoder/java8/lambda/LambdaExpressionTest.java rename to src/test/java/lambda/LambdaExpressionTest.java index 6ab12d4..ccc1a93 100644 --- a/java8-lambda-expression/src/test/java/com/craftcoder/java8/lambda/LambdaExpressionTest.java +++ b/src/test/java/lambda/LambdaExpressionTest.java @@ -1,13 +1,15 @@ -package com.craftcoder.java8.lambda; +package lambda; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; +import static org.hamcrest.CoreMatchers.*; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; +import org.hamcrest.CoreMatchers; +import org.hamcrest.MatcherAssert; import org.junit.Test; public class LambdaExpressionTest { @@ -18,7 +20,7 @@ public void shouldRunUsingAnonymousClass() throws Exception { @Override public void run() { - System.out.println("Yes, anonymous object here :("); + System.out.println("Yes, anonymous object here "); } }; @@ -44,7 +46,7 @@ public int compare(String firstGuide, String secondGuide) { } }); - assertThat(craftCoderGuides, contains("CDI", "Hibernate", "JUnit", "Mockito", "Spring")); + assertThat(craftCoderGuides, CoreMatchers.hasItems("CDI", "Hibernate", "JUnit", "Mockito", "Spring")); } @Test @@ -56,7 +58,7 @@ public void shouldOrderTheListOfNamesByLambdaExpression() throws Exception { return firstGuide.compareTo(secondGuide); }); - assertThat(craftCoderGuides, contains("CDI", "Hibernate", "JUnit", "Mockito", "Spring")); + assertThat(craftCoderGuides, CoreMatchers.hasItems("CDI", "Hibernate", "JUnit", "Mockito", "Spring")); } @Test @@ -65,7 +67,7 @@ public void shouldOrderTheListOfNamesByLambdaExpressionWithoutBracesAndReturnKey Collections.sort(craftCoderGuides, (String firstGuide, String secondGuide) -> firstGuide.compareTo(secondGuide)); - assertThat(craftCoderGuides, contains("CDI", "Hibernate", "JUnit", "Mockito", "Spring")); + assertThat(craftCoderGuides, CoreMatchers.hasItems("CDI", "Hibernate", "JUnit", "Mockito", "Spring")); } @Test @@ -74,7 +76,7 @@ public void shouldOrderTheListOfNamesByLambdaExpressionWithoutParameterTypes() t Collections.sort(craftCoderGuides, (firstGuide, secondGuide) -> firstGuide.compareTo(secondGuide)); - assertThat(craftCoderGuides, contains("CDI", "Hibernate", "JUnit", "Mockito", "Spring")); + assertThat(craftCoderGuides, CoreMatchers.hasItems("CDI", "Hibernate", "JUnit", "Mockito", "Spring")); } } diff --git a/java8-predicates/src/test/java/com/craftcoder/java8/predicate/PredicateFunctionalInterfaceTest.java b/src/test/java/predicate/PredicateFunctionalInterfaceTest.java similarity index 96% rename from java8-predicates/src/test/java/com/craftcoder/java8/predicate/PredicateFunctionalInterfaceTest.java rename to src/test/java/predicate/PredicateFunctionalInterfaceTest.java index 019123a..788b1ca 100644 --- a/java8-predicates/src/test/java/com/craftcoder/java8/predicate/PredicateFunctionalInterfaceTest.java +++ b/src/test/java/predicate/PredicateFunctionalInterfaceTest.java @@ -1,7 +1,7 @@ -package com.craftcoder.java8.predicate; +package predicate; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; +import static org.hamcrest.CoreMatchers.*; import java.util.function.Predicate; diff --git a/src/test/java/streams/StreamReduceTest.java b/src/test/java/streams/StreamReduceTest.java new file mode 100644 index 0000000..4b22c1f --- /dev/null +++ b/src/test/java/streams/StreamReduceTest.java @@ -0,0 +1,45 @@ +package streams; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.CoreMatchers.*; + +import java.util.Arrays; +import java.util.List; +import java.util.Optional; +import java.util.function.BinaryOperator; + +import org.junit.Test; + +public class StreamReduceTest { + + @Test + public void shouldReduceTheListOfNumbers() throws Exception { + List numbers = Arrays.asList(1, 2, 5); + + Optional reduced = numbers + .stream() + .reduce(new BinaryOperator() { + + @Override + public Integer apply(Integer first, Integer second) { + return first + second; + } + }); + + assertThat(reduced.isPresent(), is(true)); + assertThat(reduced.get(), equalTo(8)); + } + + @Test + public void shouldReduceTheListOfNumbersByUsingLambdaExpression() throws Exception { + List numbers = Arrays.asList(1, 2, 5); + + Optional reduced = numbers + .stream() + .reduce((first, second) -> first + second); + + assertThat(reduced.isPresent(), is(true)); + assertThat(reduced.get(), equalTo(8)); + } + +} diff --git a/src/test/java/streams/StreamWithCountTest.java b/src/test/java/streams/StreamWithCountTest.java new file mode 100644 index 0000000..1e99d6e --- /dev/null +++ b/src/test/java/streams/StreamWithCountTest.java @@ -0,0 +1,24 @@ +package streams; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.CoreMatchers.*; + +import java.util.Arrays; +import java.util.List; + +import org.junit.Test; + +public class StreamWithCountTest { + + @Test + public void shouldCountNumbersInTheList() throws Exception { + List listOfNumbers = Arrays.asList(1, 2, 3, 4, 5); + + long quantity = listOfNumbers + .stream() + .count(); + + assertThat(quantity, equalTo(5L)); + } + +} diff --git a/java8-stream-filter/src/test/java/com/craftcoder/java8/stream/filter/StreamWithFilterTest.java b/src/test/java/streams/StreamWithFilterTest.java similarity index 82% rename from java8-stream-filter/src/test/java/com/craftcoder/java8/stream/filter/StreamWithFilterTest.java rename to src/test/java/streams/StreamWithFilterTest.java index 71f17d5..7406ef1 100644 --- a/java8-stream-filter/src/test/java/com/craftcoder/java8/stream/filter/StreamWithFilterTest.java +++ b/src/test/java/streams/StreamWithFilterTest.java @@ -1,13 +1,14 @@ -package com.craftcoder.java8.stream.filter; +package streams; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; +import static org.hamcrest.CoreMatchers.*; import java.util.Arrays; import java.util.List; import java.util.function.Predicate; import java.util.stream.Collectors; +import org.hamcrest.CoreMatchers; import org.junit.Test; public class StreamWithFilterTest { @@ -29,7 +30,7 @@ public boolean test(Integer number) { .filter(greaterThan5) .collect(Collectors.toList()); - assertThat(numbersGreaterThan5, contains(6, 7, 8, 9)); + assertThat(numbersGreaterThan5, CoreMatchers.hasItems(6, 7, 8, 9)); } @Test @@ -43,7 +44,7 @@ public void shouldFilterAllNumbersGreaterThan5ByUsingStreamAndFilterWithLambda() .filter(greaterThan5) .collect(Collectors.toList()); - assertThat(numbersGreaterThan5, contains(6, 7, 8, 9)); + assertThat(numbersGreaterThan5, CoreMatchers.hasItems(6, 7, 8, 9)); } @Test @@ -55,7 +56,7 @@ public void shouldFilterAllNumbersGreaterThan5ByUsingInlineFilter() throws Excep .filter(number -> number > 5) .collect(Collectors.toList()); - assertThat(numbersGreaterThan5, contains(6, 7, 8, 9)); + assertThat(numbersGreaterThan5, CoreMatchers.hasItems(6, 7, 8, 9)); } @Test @@ -68,7 +69,7 @@ public void shouldFilterAllNumbersGreaterThan5AndDividedBy2() throws Exception { .filter(number -> number % 2 == 0) .collect(Collectors.toList()); - assertThat(numbersGreaterThan5, contains(6, 8)); + assertThat(numbersGreaterThan5, CoreMatchers.hasItems(6, 8)); } } diff --git a/java8-stream-map/src/test/java/com/craftcoder/java8/stream/map/StreamWithMapTest.java b/src/test/java/streams/StreamWithMapTest.java similarity index 83% rename from java8-stream-map/src/test/java/com/craftcoder/java8/stream/map/StreamWithMapTest.java rename to src/test/java/streams/StreamWithMapTest.java index a328744..f315b97 100644 --- a/java8-stream-map/src/test/java/com/craftcoder/java8/stream/map/StreamWithMapTest.java +++ b/src/test/java/streams/StreamWithMapTest.java @@ -1,13 +1,13 @@ -package com.craftcoder.java8.stream.map; +package streams; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; import java.util.Arrays; import java.util.List; import java.util.function.Function; import java.util.stream.Collectors; +import org.hamcrest.CoreMatchers; import org.junit.Test; public class StreamWithMapTest { @@ -29,7 +29,7 @@ public Integer apply(Integer number) { .map(multiplyBy2) .collect(Collectors.toList()); - assertThat(multipliedNumbers, contains(2, 4, 6, 8, 10)); + assertThat(multipliedNumbers, CoreMatchers.hasItems(2, 4, 6, 8, 10)); } @Test @@ -43,7 +43,7 @@ public void shouldMultiplyEachElementBy2UsingLambdaExpression() throws Exception .map(multiplyBy2) .collect(Collectors.toList()); - assertThat(multipliedNumbers, contains(2, 4, 6, 8, 10)); + assertThat(multipliedNumbers, CoreMatchers.hasItems(2, 4, 6, 8, 10)); } @Test @@ -59,7 +59,7 @@ public void shouldMultiplyAndTransformIntoStringEachElement() throws Exception { .map(transformIntoString) .collect(Collectors.toList()); - assertThat(multipliedNumbersAsString, contains("2", "4", "6", "8", "10")); + assertThat(multipliedNumbersAsString, CoreMatchers.hasItems("2", "4", "6", "8", "10")); } } diff --git a/java8-stream-match/src/test/java/com/craftcoder/java8/stream/match/StreamWithMatchTest.java b/src/test/java/streams/StreamWithMatchTest.java similarity index 87% rename from java8-stream-match/src/test/java/com/craftcoder/java8/stream/match/StreamWithMatchTest.java rename to src/test/java/streams/StreamWithMatchTest.java index e9098bb..6aa098b 100644 --- a/java8-stream-match/src/test/java/com/craftcoder/java8/stream/match/StreamWithMatchTest.java +++ b/src/test/java/streams/StreamWithMatchTest.java @@ -1,7 +1,7 @@ -package com.craftcoder.java8.stream.match; +package streams; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.is; +import static org.hamcrest.CoreMatchers.*; import java.util.Arrays; import java.util.List; @@ -18,7 +18,7 @@ public void shouldCheckIfThereIsANumberGreaterThan4() throws Exception { .stream() .anyMatch(number -> number > 4); - assertThat(anyNumberGreaterThan4, is(true)); + assertThat(anyNumberGreaterThan4, is(true)); } @Test diff --git a/java8-stream-sorted/src/test/java/com/craftcoder/java8/stream/sorted/StreamWithSortedTest.java b/src/test/java/streams/StreamWithSortedTest.java similarity index 77% rename from java8-stream-sorted/src/test/java/com/craftcoder/java8/stream/sorted/StreamWithSortedTest.java rename to src/test/java/streams/StreamWithSortedTest.java index bc063ed..7efeb11 100644 --- a/java8-stream-sorted/src/test/java/com/craftcoder/java8/stream/sorted/StreamWithSortedTest.java +++ b/src/test/java/streams/StreamWithSortedTest.java @@ -1,13 +1,14 @@ -package com.craftcoder.java8.stream.sorted; +package streams; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.contains; +import static org.hamcrest.CoreMatchers.*; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; +import org.hamcrest.CoreMatchers; import org.junit.Test; public class StreamWithSortedTest { @@ -21,7 +22,7 @@ public void shouldSortTheList() throws Exception { .sorted() .collect(Collectors.toList()); - assertThat(sortedList, contains("A", "B", "C", "D", "E")); + assertThat(sortedList, CoreMatchers.hasItems("A", "B", "C", "D", "E")); } @Test @@ -35,7 +36,7 @@ public void shouldSortTheListWithInvertedComparator() throws Exception { .sorted(inverted) .collect(Collectors.toList()); - assertThat(sortedList, contains("E", "D", "C", "B", "A")); + assertThat(sortedList, CoreMatchers.hasItems("E", "D", "C", "B", "A")); } } diff --git a/java8-suppliers/src/test/java/com/craftcoder/java8/suppliers/SupplierFunctionalInterfaceTest.java b/src/test/java/suppliers/SupplierFunctionalInterfaceTest.java similarity index 98% rename from java8-suppliers/src/test/java/com/craftcoder/java8/suppliers/SupplierFunctionalInterfaceTest.java rename to src/test/java/suppliers/SupplierFunctionalInterfaceTest.java index 70b86e7..e43264e 100644 --- a/java8-suppliers/src/test/java/com/craftcoder/java8/suppliers/SupplierFunctionalInterfaceTest.java +++ b/src/test/java/suppliers/SupplierFunctionalInterfaceTest.java @@ -1,4 +1,4 @@ -package com.craftcoder.java8.suppliers; +package suppliers; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo;