|
@@ -20,6 +20,7 @@ Compilez le projet, lancez l'application, et testez !
|
|
|
|
|
|
<br>Les formes géométriques qui sont dessinées sont représentées par des objets, qui sont stockés dans le `DrawingPane`. Mais où sont les classes représentant les différentes formes géométriques ??
|
|
|
> - Cherchez un peu, et quand vous aurez trouvé, complétez le diagramme de classes de l'application.
|
|
|
+
|
|
|
<br>
|
|
|
|
|
|
### 🌴 Le triangle des bermudes
|
|
@@ -30,6 +31,8 @@ On veut maintenant pouvoir dessiner des triangles.
|
|
|
> - En vous inspirant de la manière dont les rectangles et les ellipses sont créés et ajoutés au `DrawingPane`, ajoutez les classes nécessaires ainsi qu’un bouton dans l’interface pour pouvoir dessiner des triangles.
|
|
|
> - Définissez un style CSS à appliquer aux triangles.
|
|
|
|
|
|
+<br>
|
|
|
+
|
|
|
### 🩺 Des tests
|
|
|
|
|
|
Les tests unitaires sont un excellent moyen de vérifier la qualité du code produit. Il y a beaucoup d’avantages à utiliser les tests unitaires, comme vous le verrez dans un autre module. Au fur et à mesure du développement de l’application, vous devrez écrire les tests permettant de vérifier la validité de votre code, et d’identifier des erreurs possibles.
|
|
@@ -37,16 +40,18 @@ Les tests unitaires sont un excellent moyen de vérifier la qualité du code pro
|
|
|
Commençons tout de suite !
|
|
|
|
|
|
Dans le package `test`, il y a déjà une classe permettant de tester quelques méthodes de l’application.
|
|
|
-> En vous inspirant des tests existants, écrivez quelques tests unitaires permettant de vérifier le bon fonctionnement des classes que vous avez ajoutées pour dessiner des triangles. Pensez aux différents cas possibles.
|
|
|
+> - En vous inspirant des tests existants, écrivez quelques tests unitaires permettant de vérifier le bon fonctionnement des classes que vous avez ajoutées pour dessiner des triangles. Pensez aux différents cas possibles.
|
|
|
>
|
|
|
-> Vérifiez que les tests passent, ou corrigez votre code si nécessaire.
|
|
|
+> - Vérifiez que les tests passent, ou corrigez votre code si nécessaire.
|
|
|
Dans la suite du projet, nous continuerons à écrire des tests pour chaque nouvelle fonctionnalité créée.
|
|
|
|
|
|
+<br>
|
|
|
+
|
|
|
### 🎮 Tu me montres ta collection ?
|
|
|
|
|
|
La classe `DrawingPane` contient un attribut de type `ArrayList` pour stocker les formes géométriques créées. Pour y accéder, un getter a été implémenté : il s’agit de la méthode `getShapes()`. Il est d’ailleurs utilisé dans la classe `MouseMoveHandler`, par exemple.
|
|
|
|
|
|
-> Quel problème relatif au principe d’encapsulation ce getter pose-t-il ?
|
|
|
+> - Quel problème relatif au principe d’encapsulation ce getter pose-t-il ?
|
|
|
|
|
|
Pour vous en rendre compte, dans la classe `ShapeButtonHandler`, essayez de remplacer la ligne :
|
|
|
|