Commit 85b848a9 authored by Antoine Hazebrouck's avatar Antoine Hazebrouck

concours auquels un chef a participé

parent 159fe3fa
...@@ -41,4 +41,11 @@ public class FileConcours { ...@@ -41,4 +41,11 @@ public class FileConcours {
public List<Concours> concoursTermines() { public List<Concours> concoursTermines() {
return concoursTermines; return concoursTermines;
} }
public List<Concours> concoursAuquelAParticipe(Chef chef) {
return concoursTermines().stream()
.filter(concoursLoop -> concoursLoop.getPropositions().stream().map(prop -> prop.getChef()).toList()
.contains(chef))
.toList();
}
} }
...@@ -2,6 +2,9 @@ package imt; ...@@ -2,6 +2,9 @@ package imt;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import imt.personnes.Chef;
import imt.personnes.Genre;
import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertTrue;
class ApplicationTest { class ApplicationTest {
...@@ -10,4 +13,9 @@ class ApplicationTest { ...@@ -10,4 +13,9 @@ class ApplicationTest {
void shouldAnswerWithTrue() { void shouldAnswerWithTrue() {
assertTrue(true); assertTrue(true);
} }
// @Test
// void tok_chef_utilisation() {
// Chef antoine = new Chef(1, "Hazebrouck", "Antoine", "06 ...", Genre.HOMME, 0, null, null)
// }
} }
...@@ -5,7 +5,11 @@ import static imt.concours.ConcoursTest.JURY_1; ...@@ -5,7 +5,11 @@ import static imt.concours.ConcoursTest.JURY_1;
import static imt.concours.ConcoursTest.JURY_2; import static imt.concours.ConcoursTest.JURY_2;
import static imt.concours.ConcoursTest.JURY_3; import static imt.concours.ConcoursTest.JURY_3;
import static imt.concours.ConcoursTest.PROPOSITIONS; import static imt.concours.ConcoursTest.PROPOSITIONS;
import static imt.concours.ConcoursTest.*; import static imt.concours.ConcoursTest.PROPOSITION_1;
import static imt.concours.ConcoursTest.PROPOSITION_2;
import static imt.concours.ConcoursTest.PROPOSITION_3;
import static imt.concours.ConcoursTest.PROPOSITION_4;
import static imt.concours.ConcoursTest.PROPOSITION_5;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import java.util.HashSet; import java.util.HashSet;
...@@ -21,6 +25,18 @@ import imt.personnes.Genre; ...@@ -21,6 +25,18 @@ import imt.personnes.Genre;
import imt.personnes.Specialite; import imt.personnes.Specialite;
public class FileConcoursTest { public class FileConcoursTest {
public static Concours CONCOURS_1() {
return new Concours(JURY_1, JURY_2, JURY_3, PROPOSITIONS);
}
public static Concours CONCOURS_2() {
return new Concours(JURY_1, JURY_2, JURY_3, PROPOSITIONS);
}
public static Concours CONCOURS_3() {
return new Concours(JURY_1, JURY_2, JURY_3, PROPOSITIONS);
}
@Test @Test
void fileDeConcours_tout_les_concours_du_chef() { void fileDeConcours_tout_les_concours_du_chef() {
Set<Proposition> propositionsSansTelChef = new HashSet<>(PROPOSITIONS); Set<Proposition> propositionsSansTelChef = new HashSet<>(PROPOSITIONS);
...@@ -29,28 +45,23 @@ public class FileConcoursTest { ...@@ -29,28 +45,23 @@ public class FileConcoursTest {
new Proposition(new Plat(99, "plat99", new Ingredient[] {}), new Chef(99, "nom99", "prenom99", "QSD", new Proposition(new Plat(99, "plat99", new Ingredient[] {}), new Chef(99, "nom99", "prenom99", "QSD",
Genre.HOMME, 4, Specialite.CUISINIER, Set.of(new Plat(99, "plat99", new Ingredient[] {}))))); Genre.HOMME, 4, Specialite.CUISINIER, Set.of(new Plat(99, "plat99", new Ingredient[] {})))));
Concours concours1 = new Concours(JURY_1, JURY_2, JURY_3, PROPOSITIONS); Concours concoursSansTelChef = new Concours(JURY_1, JURY_2, JURY_3, propositionsSansTelChef);
Concours concours2 = new Concours(JURY_1, JURY_2, JURY_3, propositionsSansTelChef);
Concours concours3 = new Concours(JURY_1, JURY_2, JURY_3, new HashSet<>(PROPOSITIONS));
FileConcours fileConcours = new FileConcours(concours1, concours2, concours3); FileConcours fileConcours = new FileConcours(CONCOURS_1(), concoursSansTelChef, CONCOURS_3());
assertThat(fileConcours.concoursAuquelParticipe(CHEF_1)).isEqualTo(List.of(concours1, concours3)); assertThat(fileConcours.concoursAuquelParticipe(CHEF_1)).isEqualTo(List.of(CONCOURS_1(), CONCOURS_3()));
} }
@Test @Test
void concours_termines() { void concours_termines() {
Concours concours1 = new Concours(JURY_1, JURY_2, JURY_3, PROPOSITIONS); Concours CONCOURS_1 = CONCOURS_1();
Concours concours2 = new Concours(JURY_1, JURY_2, JURY_3, PROPOSITIONS); FileConcours fileConcours = new FileConcours(CONCOURS_1, CONCOURS_2(), CONCOURS_3());
Concours concours3 = new Concours(JURY_1, JURY_2, JURY_3, PROPOSITIONS);
FileConcours fileConcours = new FileConcours(concours1, concours2, concours3);
assertThat(fileConcours.passerAuConcoursSuivant()).isFalse(); assertThat(fileConcours.passerAuConcoursSuivant()).isFalse();
forcer_la_fin_du_concours(concours1); forcer_la_fin_du_concours(CONCOURS_1);
assertThat(fileConcours.passerAuConcoursSuivant()).isTrue(); assertThat(fileConcours.passerAuConcoursSuivant()).isTrue();
assertThat(fileConcours.concoursTermines()).isEqualTo(List.of(concours1)); assertThat(fileConcours.concoursTermines()).isEqualTo(List.of(CONCOURS_1));
} }
void forcer_la_fin_du_concours(Concours concours) { void forcer_la_fin_du_concours(Concours concours) {
...@@ -65,6 +76,15 @@ public class FileConcoursTest { ...@@ -65,6 +76,15 @@ public class FileConcoursTest {
@Test @Test
void concours_auquel_un_chef_a_participe() { void concours_auquel_un_chef_a_participe() {
Concours CONCOURS_1 = CONCOURS_1();
Concours CONCOURS_2 = CONCOURS_2();
FileConcours fileConcours = new FileConcours(CONCOURS_1, CONCOURS_2, CONCOURS_3());
forcer_la_fin_du_concours(CONCOURS_1);
fileConcours.passerAuConcoursSuivant();
forcer_la_fin_du_concours(CONCOURS_2);
fileConcours.passerAuConcoursSuivant();
assertThat(fileConcours.concoursAuquelAParticipe(CHEF_1)).isEqualTo(List.of(CONCOURS_1, CONCOURS_2));
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment