Ajout de tests pour tester toutes les fonctions
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
This commit is contained in:
parent
40076ad3c1
commit
f3dd9157c7
|
@ -1,3 +1,6 @@
|
|||
*.pyc
|
||||
|
||||
.pytest_cache
|
||||
.coverage
|
||||
|
||||
venv
|
||||
|
|
62
main_test.py
62
main_test.py
|
@ -4,6 +4,7 @@
|
|||
Exécution des tests du script.
|
||||
"""
|
||||
|
||||
from random import randint, seed, shuffle
|
||||
import unittest
|
||||
|
||||
import main
|
||||
|
@ -16,7 +17,8 @@ class TestMain(unittest.TestCase):
|
|||
|
||||
def test_aide(self):
|
||||
"""
|
||||
On essaie d'afficher l'aide, et on vérifie si ça affiche la bonne chose.
|
||||
On essaie d'afficher l'aide,
|
||||
et on vérifie si ça affiche la bonne chose.
|
||||
"""
|
||||
res = main.commande("aide")
|
||||
lines = res.split("\n")
|
||||
|
@ -27,3 +29,61 @@ class TestMain(unittest.TestCase):
|
|||
self.assertTrue(lines[3].startswith("calcul"))
|
||||
self.assertTrue(lines[4].startswith("tri"))
|
||||
self.assertTrue(lines[5].startswith("stop"))
|
||||
|
||||
def test_seminaire(self):
|
||||
"""
|
||||
Test de l'affichage du "séminaire".
|
||||
"""
|
||||
res = main.commande("seminaire")
|
||||
self.assertEqual(len(res), 114)
|
||||
|
||||
def test_blague(self):
|
||||
"""
|
||||
On teste les blagues, et on vérifie si
|
||||
elles fonctionnent bien.
|
||||
"""
|
||||
seed(1)
|
||||
res = main.commande("blague")
|
||||
self.assertEqual(res, "Je vais vous raconter une blague sur UDP, "
|
||||
"mais vous ne l'aurez peut-être pas.")
|
||||
|
||||
seed(5)
|
||||
res = main.commande("blague")
|
||||
self.assertEqual(res, "Connaissez-vous la différence entre la "
|
||||
"théorie et la pratique ? "
|
||||
"Il n'y en a pas, en théorie.")
|
||||
|
||||
def test_calcul(self):
|
||||
"""
|
||||
On vérifie que certains calculs basiques, puis aléatoires,
|
||||
marchent bien.
|
||||
"""
|
||||
self.assertTrue(main.commande("calcul", 1, 2, 3))
|
||||
self.assertFalse(main.commande("calcul", 1, 2, 2, '+'))
|
||||
self.assertTrue(main.commande("calcul", 1, 2, 2, '*'))
|
||||
self.assertTrue(main.commande("calcul", 42, 3, 14, 'div'))
|
||||
self.assertTrue(main.commande("calcul", 16777215, 42, 42, 'and'))
|
||||
self.assertTrue(main.commande("calcul", 16777213, 42, 16777215, 'or'))
|
||||
self.assertFalse(main.commande("calcul", 15, 20, 35, 'xor'))
|
||||
self.assertTrue(main.commande("calcul", 15, 20, 27, '^'))
|
||||
self.assertTrue(main.commande("calcul", 100, 76, 24, 'unknown'))
|
||||
|
||||
left, right = randint(0, 0x7FFFFFFF), randint(0, 0x7FFFFFFF)
|
||||
self.assertTrue(main.commande("calcul", left, right,
|
||||
left - right, "-"))
|
||||
|
||||
def test_tri(self):
|
||||
"""
|
||||
À partir d'une liste donnée, on trie la liste
|
||||
et on vérifie qu'elle est bien triée.
|
||||
"""
|
||||
my_list = [23, 16, 234567, -4]
|
||||
shuffle(my_list)
|
||||
sorted_list = sorted(my_list)
|
||||
self.assertEqual(main.commande("tri", *my_list), sorted_list)
|
||||
|
||||
def test_stop(self):
|
||||
"""
|
||||
On vérifie que le programme s'arrête bien.
|
||||
"""
|
||||
self.assertRaises(SystemExit, main.commande, "stop", 0)
|
||||
|
|
Loading…
Reference in New Issue