E-CLIN-2 : Modifier la clinique et le centre communautaire

:timer_clock: 2 heures

Suite de E-CLIN-1

Le besoin est simple! Pouvez-vous trouver une architecture qui permet d’éviter la duplication de code en utilisant du polymorphisme?

Étape 1

Premièrement, supprimer la classe CommunityCenter

Étape 2

Faites un réusinage de votre code (profitez de l’aide de votre IDE!) afin de changer tous les if-else par du polymorphisme. Si vous ne connaissez pas les raccourcis et astuces pour faire ce type de réusinage comme un pro, demandez à un assistant de vous révéler son secret :wink:

Pour vous guider vers la solution, voici le nom des tests de la clinique :

public class ClinicTest {
    @Test
    public void whenTriagingPatient_thenPatientIsAddedToTheDoctorWaitingList() {
    }

    @Test
    public void whenTriagingPatientWithTheFlu_thenPatientIsNotAddedToTheRadiologyWaitingList() {
    }

    @Test
    public void whenTriagingPatientWithABrokenBone_thenPatientIsAddedToTheRadiologyWaitingList() {
    }

    @Test
    public void whenTriagingPatientWithASprain_thenPatientIsAddedToTheRadiologyWaitingList() {
    }
}

Étape 3

Ajouter le CommunityCenter de nouveau. Pour vous guider, celui-ci ne devrait avoir qu’un seul @Test!!

:question: Comment est-ce possible d’avoir un seul test? Comment est-ce relié au nombre de comportements du centre communautaire?

Solutions

Aucune solution ne sera donnée.