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 @@
-[](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;