diff --git a/src/test/java/java17/ex01/Function_01_Test.java b/src/test/java/java17/ex01/Function_01_Test.java index 4b15cc0b..7c155a70 100644 --- a/src/test/java/java17/ex01/Function_01_Test.java +++ b/src/test/java/java17/ex01/Function_01_Test.java @@ -22,14 +22,17 @@ public class Function_01_Test { // TODO le nom sera de la forme "last_" // TODO l'age sera de la forme "" // TODO le mot de passe sera de la forme "pass_" - private Function intToPerson = null; + private Function intToPerson = (Integer entier) -> { + Person person = new Person("first_" + entier, "last_" + entier, entier, "pass_" + entier); + return person; + }; // end::intToPerson[] @Test public void test_intToPerson() throws Exception { // TODO invoquer la fonction intToPerson avec en paramètre l'entier 10. - Person result = null; + Person result = intToPerson.apply(10); assert result.getFirstname().equals("first_10"); assert result.getLastname().equals("last_10"); @@ -43,7 +46,12 @@ public void test_intToPerson() throws Exception { // TODO Compléter la définition de cette fonction // TODO la propriété owner est valorisé avec la personne en paramètre // TODO la propriété balance est valorisé à 1000 - private Function personToAccount = null; + private Function personToAccount = (Person person) -> { + Account account = new Account(); + account.setOwner(person); + account.setBalance(1000); + return account; + }; // end::personToAccount[] @Test @@ -52,7 +60,7 @@ public void test_personToAccount() throws Exception { Person person = new Person("Jules", "France", 10, "pass"); // TODO invoquer la fonction personToAccount - Account result = null; + Account result = personToAccount.apply(person); assert result.getOwner().equals(person); assert result.getBalance().equals(1000); diff --git a/src/test/java/java17/ex02/Function_02_Test.java b/src/test/java/java17/ex02/Function_02_Test.java index 2a2c2bc4..14a1d52e 100644 --- a/src/test/java/java17/ex02/Function_02_Test.java +++ b/src/test/java/java17/ex02/Function_02_Test.java @@ -15,14 +15,20 @@ public class Function_02_Test { // tag::buildAccount[] // TODO Compléter la fonction buildAccount // TODO la fonction possède 2 paramètres en entrée : une personne et un solde - BiFunction buildAccount = null; + BiFunction buildAccount = (Person person,Integer solde) -> { + Account account = new Account(); + account.setOwner(person); + account.setBalance(solde); + return account; + }; // end::buildAccount[] @Test public void test_build_account() throws Exception { // TODO invoquer la fonction buildAccount pour que le test soit passant - Account account = null; + Person person = new Person("John", "France", 80, "pass"); + Account account = buildAccount.apply(person, 500); assert account.getBalance().equals(500); assert account.getOwner().getFirstname().equals("John"); diff --git a/src/test/java/java17/ex03/Function_03_Test.java b/src/test/java/java17/ex03/Function_03_Test.java index 78f4cc4f..ef9f61f9 100644 --- a/src/test/java/java17/ex03/Function_03_Test.java +++ b/src/test/java/java17/ex03/Function_03_Test.java @@ -17,7 +17,14 @@ public class Function_03_Test { // TODO l'enfant possède le prenom " " // TODO l'age de l'enfant est 0 // TODO le mot de passe de l'enfant est null - BinaryOperator makeAChild = null; + BinaryOperator makeAChild = (Person father, Person mother) -> { + Person child = new Person(); + child.setFirstname(father.getFirstname() + " " + mother.getFirstname()); + child.setLastname(father.getLastname()); + child.setAge(0); + child.setPassword(null); + return child; + }; // end::makeAChild[] @@ -28,7 +35,7 @@ public void test_makeAChild() throws Exception { Person mother = new Person("Aline", "Lebreton", 22, "alino"); // TODO compléter le test pour qu'il soit passant - Person child = null; + Person child = makeAChild.apply(father, mother); assert child.getFirstname().equals("John Aline"); assert child.getLastname().equals("France"); diff --git a/src/test/java/java17/ex04/Function_04_Test.java b/src/test/java/java17/ex04/Function_04_Test.java index cf952290..27d9f9f0 100644 --- a/src/test/java/java17/ex04/Function_04_Test.java +++ b/src/test/java/java17/ex04/Function_04_Test.java @@ -31,7 +31,7 @@ List filter(List list, Predicate predicate) { // tag::adult[] // TODO Compléter la fonction // TODO AGE >=18 - Predicate adult = null; + Predicate adult = (Person person) -> person.getAge() >= 18; // end::adult[] @Test @@ -40,7 +40,7 @@ public void test_predicate() throws Exception { List personList = Data.buildPersonList(); // TODO invoquer la méthode filter pour que le test soit passant - List result = null; + List result = filter(personList,adult); assert result.size() == 4; diff --git a/src/test/java/java17/ex05/Function_05_Test.java b/src/test/java/java17/ex05/Function_05_Test.java index c86a4cc1..4695fcee 100644 --- a/src/test/java/java17/ex05/Function_05_Test.java +++ b/src/test/java/java17/ex05/Function_05_Test.java @@ -16,15 +16,19 @@ public class Function_05_Test { //tag::functions[] // TODO compléter la fonction // TODO modifier le mot de passe en "secret" - Consumer changePasswordToSecret = null; + Consumer changePasswordToSecret = person -> person.setPassword("secret"); // TODO compléter la fonction // TODO vérifier que l'age > 4 avec une assertion JUnit - Consumer verifyAge = null; + Consumer verifyAge = person -> { + assert person.getAge() > 4 : "L'âge de " + person.getFirstname() + " " + person.getLastname() + " n'est pas supérieur à 4!"; + }; // TODO compléter la fonction // TODO vérifier que le mot de passe est "secret" avec une assertion JUnit - Consumer verifyPassword = null; + Consumer verifyPassword = person -> { + assert person.getPassword().equals("secret") : "Mdp pas secret. Voici le mdp : " + person.getPassword(); + }; //end::functions[] @@ -35,6 +39,8 @@ public void test_consumer() throws Exception { // TODO invoquer la méthode personList.forEach pour modifier les mots de passe en "secret" // personList.forEach... + personList.forEach(person -> changePasswordToSecret.accept(person)); + // TODO remplacer la boucle for par l'invocation de la méthode forEach // TODO Utiliser la méthode andThen pour chaîner les vérifications verifyAge et verifyPassword // personList.forEach... @@ -42,5 +48,7 @@ public void test_consumer() throws Exception { verifyAge.accept(p); verifyPassword.accept(p); } + + personList.forEach(person -> verifyAge.andThen(verifyPassword).accept(person)); } } diff --git a/src/test/java/java17/ex06/Function_06_Test.java b/src/test/java/java17/ex06/Function_06_Test.java index 80b64bae..96be2115 100644 --- a/src/test/java/java17/ex06/Function_06_Test.java +++ b/src/test/java/java17/ex06/Function_06_Test.java @@ -18,7 +18,7 @@ public class Function_06_Test { // TODO la méthode retourne une chaîne de caractères de la forme [age=] (exemple : [age=12]) String formatAge(Supplier supplier) { // TODO - return null; + return "[age="+supplier.get().getAge().toString()+"]"; } // end::formatAge[] @@ -26,7 +26,7 @@ String formatAge(Supplier supplier) { @Test public void test_supplier_formatAge() throws Exception { // TODO compléter le test unitaire pour qu'il soit passant - String result = formatAge(null); + String result = formatAge(() -> new Person("John", "France", 35, "pass")); assert result.equals("[age=35]"); } diff --git a/src/test/java/java17/ex07/Function_07_Test.java b/src/test/java/java17/ex07/Function_07_Test.java index 0216b225..f18b13fe 100644 --- a/src/test/java/java17/ex07/Function_07_Test.java +++ b/src/test/java/java17/ex07/Function_07_Test.java @@ -14,12 +14,12 @@ public class Function_07_Test { // TODO ex. "(10+11)=21", "(5-2)=3" String format(int nb1, int nb2, String symbol, IntBinaryOperator operator) { // TODO - return null; + return "("+nb1+symbol+nb2+")="+operator.applyAsInt(nb1, nb2); } // end::format[] // TODO définir sum pour que le test test_format_sum() soit passant - IntBinaryOperator sum = null; + IntBinaryOperator sum = (int nb1, int nb2) -> nb1 + nb2; @Test public void test_format_sum() throws Exception { @@ -30,7 +30,7 @@ public void test_format_sum() throws Exception { } // TODO définir substract afin que le test test_format_subtract() soit passant - IntBinaryOperator substract = null; + IntBinaryOperator substract = (int nb1, int nb2) -> nb1 - nb2; @Test public void test_format_subtract() throws Exception {