-
Notifications
You must be signed in to change notification settings - Fork 183
Expand file tree
/
Copy pathFunction_04_Test.java
More file actions
77 lines (56 loc) · 1.99 KB
/
Function_04_Test.java
File metadata and controls
77 lines (56 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package java17.ex04;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;
import org.junit.Test;
import java17.data.Data;
import java17.data.Person;
/**
* Exercice 4 - java.util.function.Predicate
*/
public class Function_04_Test {
// tag::filterMethod[]
<T> List<T> filter(List<T> list, Predicate<T> predicate) {
List<T> result = new ArrayList<>();
for (T el : list) {
if (predicate.test(el)) {
result.add(el);
}
}
return result;
}
// end::filterMethod[]
// PART 1 - ADULT
// tag::adult[]
// TODO Compléter la fonction
// TODO AGE >=18
Predicate<Person> adult = (Person person) -> person.getAge() >= 18;
// end::adult[]
@Test
public void test_predicate() throws Exception {
List<Person> personList = Data.buildPersonList();
// TODO invoquer la méthode filter pour que le test soit passant
List<Person> result = filter(personList,adult);
assert result.size() == 4;
}
// PART 2 - ADULT AND LASTNAME=France AND FIRSTNAME=Armor
// tag::predicateand[]
// TODO compléter la fonction
// TODO le prédicat vérifie que le nom est "France"
Predicate<Person> lastnameIsFrance = null;
// TODO compléter la fonction
// TODO le prédicat vérifie que le prénom est "Armor"
Predicate<Person> firstnameIsArmor = null;
// end::predicateand[]
@Test
public void test_predicate_and() throws Exception {
List<Person> personList = Data.buildPersonList();
// TODO invoquer la méthode filter pour que le test soit passant
// TODO chaîner les prédicats adult, lastnameIsFrance et firstnameIsArmor avec la méthode and
List<Person> result = null;
assert result.size() == 1;
assert result.get(0).getFirstname().equals("Armor");
assert result.get(0).getLastname().equals("France");
assert result.get(0).getAge().equals(25);
}
}