1.3 Le code coverage
Lors de la cr´eation de tests, il est n´ecessaire que tout le code ´ecrit soit test´e.
Comme il peut ˆetre difficile (et fastidieux) de le v´erifier `a la main, des outils de
code coverage ont ´et´e d´evelopp´e. Allez l`a :
http://nedbatchelder.com/code/modules/coverage.html
et t´el´echarger le code. Vous le d´ecompresserez dans le r´epertoire contenant
les sources de votre TD.
Nous n’aurons besoin ici que du fichier coverage.py, nous n’installerons donc
pas le module `a proprement parler.
Lisez l’aide. . . Pour ce qui est de nos besoins, nous effectuerons dons l’ordre
les commandes suivantes :
1. coverage.py -e
2. coverage.py -x test graphs.py
3. coverage.py -r -m graphs.py
Explicitez et justifiez cette liste de commandes.
Jouez un peu avec coverage.py pur mieux le comprendre. En particulier,
on vous demande de cr´eer un fichier contenant les lignes de Graph.py test´ee et
celles qui ne le sont pas.
1.4 Objectif 100%
On vous demande que toutes les lignes de Graph.py soient test´ees. Utilisez des
tests judicieux. . .
Attention, il sera sans-doute n´ecessaire d’utiliser la commande coverage.py
-e de tant en temps. Pourquoi ?
1.5 Ajout de fonctionnalit´es `a Graph
Pour la suite de nos aventures, il va falloir ´etoffer un peu la classe graphe.
En particulier il vous est demand´e de coder et de tester les fonctionnalit´es
suitantes :
•l’ajout et la suppression de sommets (un ou plusieurs en mˆeme temps),
•l’ajout et la suppression d’arˆetes (une ou plusieurs en mˆeme temps),
•le renommage de sommets.
2 Graphes et Code de Huffman
Nous allons utiliser notre classe graphe pour mettre en place une m´ethode
de compression conue sous le nom de codage de Huffman. Faites une petite
recherche sur le net pour comprendre le comment du pourquoi de cette m´ethode.
2