====== Vers le code ====== **Reprenez le diagramme de classes et pour les classes qui sont utilisées dans le [[https://mbf-iut.i3s.unice.fr/doku.php?id=2019_2020:s2:etudefilrouge:bilanintermediaire#un_exemple_test_pour_verifier_que_tout_y_est|test]], générer et complétez l'implémentation.** Voici un exemple de tests que vous pouvez faire : public class TestValidation { public static void main(String[] args) { //(il y en a 4, ordonnés dans l'ordre chronologique des anniversaires : Hercule, Geek00, D.D., Yvette), celui de Hercule. Birthday aBirthday = new Birthday(LocalDate.of(2000, 02, 12),"a'"); Birthday bBirthday = new Birthday(LocalDate.of(2000, 04, 12),"b'"); Birthday herculeBirthday = new Birthday(LocalDate.of(2000, 02, 18),"Hercule'"); Birthday geekBirthday = new Birthday(LocalDate.of(2000, 02, 19),"Geek00'"); Birthday dDBirthday = new Birthday(LocalDate.of(2000, 02, 20),"D.D'"); Birthday yvetteBirthday = new Birthday(LocalDate.of(2000, 03, 1),"Yvette'"); List birthdayList = new ArrayList<>(Arrays.asList(herculeBirthday, geekBirthday,dDBirthday,yvetteBirthday, aBirthday, bBirthday)); birthdayList.removeIf( (b -> ( (b.numberOfDaysAfterToday()<0) || (b.numberOfDaysAfterToday()>15) ) ) ) ; System.out.println(birthdayList); ////Pénélope sélectionne parmi les anniversaires qui lui sont proposés pour les 15 jours à venir //Elle écrit : “Bon anniversaire ! “ Message message = new Message(geekBirthday, "Bon anniversaire"); System.out.println(message); System.out.println(geekBirthday); } et pour comparer des dates si besoin (Attention, ce n'est pas la classe Birthday compléte, juste quelques éléments pour vous aider) : import java.time.LocalDate; import java.time.temporal.ChronoUnit; public class Birthday { private LocalDate aDate; private String aName; public Birthday(LocalDate pDate, String pName) { aDate = pDate; aName = pName; } public int numberOfDaysAfterToday() { LocalDate now = LocalDate.now(); LocalDate thisYearDate = LocalDate.of(now.getYear(), aDate.getMonth(), aDate.getDayOfMonth()); return (int) ChronoUnit.DAYS.between(now, thisYearDate); }