From 7708a04bcdb8b83e31a7bfa846ff325ff7ea470a Mon Sep 17 00:00:00 2001 From: Khaledik Date: Thu, 14 Nov 2024 15:10:44 +0100 Subject: [PATCH] tp_02-lambda --- src/test/java/java17/ex01/Lambda_01_Test.java | 16 +++++++++------- src/test/java/java17/ex02/Lambda_02_Test.java | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/test/java/java17/ex01/Lambda_01_Test.java b/src/test/java/java17/ex01/Lambda_01_Test.java index 61198c1b..d264e4ea 100644 --- a/src/test/java/java17/ex01/Lambda_01_Test.java +++ b/src/test/java/java17/ex01/Lambda_01_Test.java @@ -1,5 +1,7 @@ package java17.ex01; +import org.apache.commons.codec.cli.Digest; +import org.apache.commons.codec.digest.DigestUtils; import org.junit.Test; import java17.data.Data; @@ -23,10 +25,10 @@ interface PersonPredicate { // tag::filter[] private List filter(List persons, PersonPredicate predicate) { List filteredPersons = new ArrayList(); - for (Person p: persons){ - if (predicate.test(p)){ - filteredPersons.add(p); - } + for (Person p : persons) { + if (predicate.test(p)) { + filteredPersons.add(p); + } } return filteredPersons; } @@ -40,7 +42,7 @@ public void test_filter_by_age() throws Exception { List personList = Data.buildPersonList(100); // TODO result ne doit contenir que des personnes adultes (age >= 18) - List result = filter(personList, null); + List result = filter(personList, person -> person.getAge() >= 18); assert result.size() == 83; @@ -57,7 +59,7 @@ public void test_filter_by_firstname() throws Exception { List personList = Data.buildPersonList(100); // TODO result ne doit contenir que des personnes dont le prénom est "first_10" - List result = filter(personList, null); + List result = filter(personList, person -> person.getFirstname().equals("first_10")); assert result.size() == 1; assert result.get(0).getFirstname().equals("first_10"); @@ -75,7 +77,7 @@ public void test_filter_by_password() throws Exception { // TODO result ne doit contenir que les personnes dont l'age est > 49 et dont le hash du mot de passe correspond à la valeur de la variable passwordSha512Hex // TODO Pour obtenir le hash d'un mot, utiliser la méthode DigestUtils.sha512Hex(mot) - List result = filter(personList, null); + List result = filter(personList, person -> person.getAge() > 49 && DigestUtils.sha512Hex(person.getPassword()).equals(passwordSha512Hex)); assert result.size() == 6; for (Person person : result) { diff --git a/src/test/java/java17/ex02/Lambda_02_Test.java b/src/test/java/java17/ex02/Lambda_02_Test.java index 7193d80b..12109434 100644 --- a/src/test/java/java17/ex02/Lambda_02_Test.java +++ b/src/test/java/java17/ex02/Lambda_02_Test.java @@ -38,7 +38,7 @@ public void test_map_person_to_account() throws Exception { // TODO transformer la liste de personnes en liste de comptes // TODO tous les objets comptes ont un solde à 100 par défaut - List result = map(personList, null); + List result = map(personList, person -> new Account(person, 100)); assert result.size() == personList.size(); for (Account account : result) {