Skip to content
Edward Gay edited this page Jan 3, 2025 · 22 revisions

Implementation et test de la classe Fraction

Classe fraction spécifiée

Vous trouverez ci-joint la classe Fraction qui contient différentes méthodes permettant d'effectuer des operations arithmétiques sur celles-ci, ainsi que de vérifier leur propriétés et de pouvoir les comparer. Pour chaque méthode de la classe, des spécifications ont été ajoutées et le principe de programmation défensive à été utilisé. Depuis la derniére soumission, les préconditions ont été relâchées, l'encapsulation à été améliorée en changeant les variables en private et les exceptions ont été documentés dans les spécifications.

Classe fraction

https://github.com/maxeouw/DEV-2/blob/6a2990901dd1266365e538ae4e9baec908490e44/TP7.py#L1C1-L186C30

Code de Test (main) de la classe Fraction

Un code de test à été réalisé montrant le fonctionnement des différentes méthodes de la classe fonction, voici ce code ainsi qu'une vidéo démontrant son fonctionement.

Code de test

https://github.com/maxeouw/DEV-2/blob/806afe9eb49c7b758329dbe4d10e0aab96a83477/main.py#L1C1-L50C11

Vidéo explicative

https://youtu.be/Xj82XScE82I

Tests unitaires pour la classe fraction

Une série de tests unitaires ont été écrits afin de couvrir d'éventuelles erreurs du code, voici ce code et son fonctionnement (cfr vidéo) ainsi qu'un tableau montrant les valeurs de tests identifiées pour chaque méthodes. Depuis la dernière soumission, un certain nombre de cas de tests ont été rajouté pour chaque fonction de test et le calcul du code coverage à été effectué (cfr vidéo ci-dessous).

Code des tests unitaires

https://github.com/maxeouw/DEV-2/blob/6a2990901dd1266365e538ae4e9baec908490e44/TestFractions.py#L1C1-L173C20

Vidéo du fonctionnement des tests et analyse du code coverage

https://youtu.be/9UXmEDtRcz8

(Changements depuis la dérniére soumission)

Capture d'écran 2024-12-19 115615

Tableau des résultats des tests

Tests_Fractions.xlsx

Le code est couvert à 98 %. Les lignes 136 et 184 du fichier TP7.py, qui contient la classe Fraction, n'ont pas été couvertes par les tests unitaires. Ces lignes concernent la gestion des erreurs lorsque le second opérande n'est pas une fraction. Je n'ai pas réussi à implémenter de cas de test pour ces deux lignes.

Clone this wiki locally