diff --git a/src/test/java/java8/ex01/Stream_01_Test.java b/src/test/java/java8/ex01/Stream_01_Test.java index 50c82bde..d6eca595 100644 --- a/src/test/java/java8/ex01/Stream_01_Test.java +++ b/src/test/java/java8/ex01/Stream_01_Test.java @@ -5,9 +5,12 @@ import java8.data.domain.Pizza; import org.junit.Test; +import java.security.Provider.Service; import java.util.Comparator; import java.util.List; import java.util.Optional; +import java.util.function.Predicate; +import java.util.stream.Collector; import java.util.stream.Collectors; import static org.hamcrest.Matchers.*; @@ -23,7 +26,7 @@ public void test_stream_filter() throws Exception { List pizzas = new Data().getPizzas(); // TODO récupérer la liste des pizzas dont le prix est >= 1300 - List result = null; + List result = pizzas.stream().filter(p -> p.getPrice() >= 1300).collect(Collectors.toList()); assertThat(result, hasSize(3)); assertThat(result, everyItem(hasProperty("price", anyOf(equalTo(1300), greaterThan(1300))))); @@ -34,7 +37,7 @@ public void test_stream_filter_collect_counting() throws Exception { List pizzas = new Data().getPizzas(); // TODO compter le nombre de pizzas dont le prix est >= 1300 - long result = 0L; + long result = pizzas.stream().filter(p -> p.getPrice() >= 1300).count(); assertThat(result, is(3L)); } @@ -45,10 +48,10 @@ public void test_stream_anyMatch() throws Exception { List pizzas = new Data().getPizzas(); // TODO valider si au moins une pizza à un prix >= 1300 - Boolean result1 = null; + Boolean result1 = pizzas.stream().anyMatch(p -> p.getPrice() >= 1300); // TODO valider si au moins une pizza à un prix >= 2000 - Boolean result2 = null; + Boolean result2 = pizzas.stream().anyMatch(p -> p.getPrice() >= 2000); assertThat(result1, is(true)); assertThat(result2, is(false)); @@ -60,10 +63,10 @@ public void test_stream_allMatch() throws Exception { List pizzas = new Data().getPizzas(); // TODO valider que toutes les pizzas ont un prix >= 1300 - Boolean result1 = null; + Boolean result1 = pizzas.stream().allMatch(p -> p.getPrice() >= 1300); // TODO valider que toutes les pizzas ont un prix >= 900 - Boolean result2 = null; + Boolean result2 = pizzas.stream().allMatch(p -> p.getPrice() >= 900); assertThat(result1, is(false)); assertThat(result2, is(true)); @@ -75,7 +78,7 @@ public void test_stream_noneMatch() throws Exception { List pizzas = new Data().getPizzas(); // TODO valider qu'aucune pizza n'a un prix >= 2000 - Boolean result1 = null; + Boolean result1 = pizzas.stream().noneMatch(p -> p.getPrice() >= 2000); assertThat(result1, is(true)); } @@ -85,7 +88,7 @@ public void test_stream_findFirst() throws Exception { List orders = new Data().getOrders(); // TODO récupérer une commande faite par un client dont le prénom est "Sophie" - Optional result = null; + Optional result = orders.stream().filter(o -> o.getCustomer().getFirstname().equals("Sophie")).findFirst(); assertThat(result.isPresent(), is(false)); } diff --git a/src/test/java/java8/ex02/Stream_02_Test.java b/src/test/java/java8/ex02/Stream_02_Test.java index 305a26b5..307614bb 100644 --- a/src/test/java/java8/ex02/Stream_02_Test.java +++ b/src/test/java/java8/ex02/Stream_02_Test.java @@ -5,7 +5,9 @@ import static org.junit.Assert.assertThat; import java.util.List; +import java.util.Map; import java.util.OptionalDouble; +import java.util.stream.Collectors; import org.junit.Test; @@ -24,7 +26,7 @@ public void test_map() throws Exception { List orders = new Data().getOrders(); // TODO Trouver la liste des clients associés aux commandes - List result = null; + List result = orders.stream().map(o -> o.getCustomer()).collect(Collectors.toList()); assertThat(result, hasSize(8)); } @@ -35,7 +37,7 @@ public void test_map_count() throws Exception { List orders = new Data().getOrders(); // TODO Compter le nombre de clients associés aux commandes - long result = 0; + long result = orders.stream().map(o -> o.getCustomer()).collect(Collectors.counting()); assertThat(result, is(8L)); } @@ -46,7 +48,7 @@ public void test_map_distinct() throws Exception { List orders = new Data().getOrders(); // TODO Trouver la liste des différents clients associés aux commandes (sans doublons) - List result = null; + List result = orders.stream().map(o -> o.getCustomer()).distinct().collect(Collectors.toList()); assertThat(result, hasSize(2)); } @@ -57,7 +59,7 @@ public void test_map_distinct_count() throws Exception { List orders = new Data().getOrders(); // TODO Compter le nombre des différents clients associés aux commandes - long result = 0L; + long result = orders.stream().map(o -> o.getCustomer()).distinct().count(); assertThat(result, is(2L)); } @@ -71,7 +73,7 @@ public void test_mapToDouble_sum() throws Exception { * TODO Calculer le chiffre d'affaires total de la pizzeria (somme des prix des * commandes) */ - double result = 0.0; + double result = orders.stream().mapToDouble(x -> x.getPrice()).sum(); assertThat(result, is(10900.0)); } @@ -84,7 +86,7 @@ public void test_mapToDouble_avg() throws Exception { /* * TODO Calculer le prix moyen d'une commande */ - OptionalDouble result = null; + OptionalDouble result = orders.stream().mapToDouble( o -> o.getPrice()).average(); assertThat(result.isPresent(), is(true)); assertThat(result.getAsDouble(), is(1362.5)); diff --git a/src/test/java/java8/ex03/Stream_03_Test.java b/src/test/java/java8/ex03/Stream_03_Test.java index 6572357e..835bd84c 100644 --- a/src/test/java/java8/ex03/Stream_03_Test.java +++ b/src/test/java/java8/ex03/Stream_03_Test.java @@ -29,7 +29,7 @@ public void test_max() throws Exception { List orders = new Data().getOrders(); // TODO Retrouver la commande avec le prix le plus élevé - Optional result = null; + Optional result = orders.stream().max(Comparator.comparingDouble(Order::getPrice)); assertThat(result.isPresent(), is(true)); assertThat(result.get().getPrice(), is(2200.0)); @@ -41,7 +41,7 @@ public void test_min() throws Exception { List orders = new Data().getOrders(); // TODO Retrouver la commande avec le prix le moins élevé - Optional result = null; + Optional result = orders.stream().min(Comparator.comparingDouble(Order::getPrice)); assertThat(result.isPresent(), is(true)); assertThat(result.get().getPrice(), is(1000.0)); @@ -54,7 +54,7 @@ public void test_map_collect_joining() throws Exception { // TODO construire une chaîne contenant les prénoms des clients triés et séparés // par le caractère "|" - String result = null; + String result = customers.stream().map(c -> c.getFirstname()).sorted().collect(Collectors.joining("|")); assertThat(result, is("Alexandra|Cyril|Johnny|Marion|Sophie")); } @@ -65,7 +65,7 @@ public void test_flatMap() throws Exception { List orders = new Data().getOrders(); // TODO Extraire la liste des pizzas de toutes les commandes - List result = null; + List result = orders.stream().map(o -> o.getPizzas()).flatMap(p -> p.stream()).collect(Collectors.toList()); assertThat(result.size(), is(9)); } @@ -76,7 +76,7 @@ public void test_flatMap_distinct() throws Exception { List orders = new Data().getOrders(); // TODO Extraire la liste des différentes pizzas de toutes les commandes - List result = null; + List result = orders.stream().map(o -> o.getPizzas()).flatMap(p -> p.stream()).distinct().collect(Collectors.toList()); assertThat(result.size(), is(4)); } diff --git a/src/test/java/java8/ex04/Stream_04_Test.java b/src/test/java/java8/ex04/Stream_04_Test.java index 198c514b..363926ae 100644 --- a/src/test/java/java8/ex04/Stream_04_Test.java +++ b/src/test/java/java8/ex04/Stream_04_Test.java @@ -16,7 +16,7 @@ public class Stream_04_Test { @Test public void test_of() throws Exception { // Construire un stream permettant de rendre le test passant - Stream result = null; + Stream result = Stream.of("Alexandra", "Cyril", "Johnny", "Marion", "Sophie"); assertThat(result.toArray(), arrayContaining("Alexandra", "Cyril", "Johnny", "Marion", "Sophie")); } @@ -26,7 +26,7 @@ public void test_builder() throws Exception { // TODO compléter pour rendre le test passant // TODO utiliser la méthode "add" - Stream result = Stream.builder().build(); + Stream result = Stream.builder().add("Alexandra").add("Cyril").add("Johnny").add("Marion").add("Sophie").build(); assertThat(result.toArray(), arrayContaining("Alexandra", "Cyril", "Johnny", "Marion", "Sophie")); } @@ -37,7 +37,7 @@ public void test_concat() throws Exception { Stream s2 = Stream.of("Johnny", "Marion", "Sophie"); // TODO concatener les deux streams s1 et s2 - Stream result = null; + Stream result = Stream.concat(s1, s2); assertThat(result.toArray(), arrayContaining("Alexandra", "Cyril", "Johnny", "Marion", "Sophie")); } @@ -45,8 +45,8 @@ public void test_concat() throws Exception { @Test public void test_iterate() throws Exception { // TODO utiliser la méthode "iterate" de Stream afin de rendre le test passant - Stream result1 = null; - Stream result2 = null; + Stream result1 = Stream.iterate(1, n -> n).limit(5); + Stream result2 = Stream.iterate(1, n -> n + 1).limit(5); assertThat(result1.toArray(), arrayContaining(1,1,1,1,1)); assertThat(result2.toArray(), arrayContaining(1,2,3,4,5)); }