From f3dd9157c7ab09724aa9ebdc4a474aa2d405cdfc Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Wed, 27 Jan 2021 15:38:37 +0100 Subject: [PATCH] Ajout de tests pour tester toutes les fonctions Signed-off-by: Yohann D'ANELLO --- .coverage | Bin 53248 -> 0 bytes .gitignore | 3 +++ main_test.py | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 64 insertions(+), 1 deletion(-) delete mode 100644 .coverage diff --git a/.coverage b/.coverage deleted file mode 100644 index 1901bd1828095a3d07918a5230af35b28ef8e63c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53248 zcmeI)+i%-c90zb;vZQVsxu~n6QB^$;psXxunsy-AG;L+{VcI0LF(D*0GAB7nJz_hv zovwXAC>zpvL_*@7Nr?Xjq&@PntOw3qR~@8?S{TQmAr)O@YP_2nG<{66R6T-HMF>Sv40`72nNB%c$fPUuR~=cNv}h>n*MG>HpDXj(pA_?} z{1;|<{+E1Z?vMFB!J*>5G=#k-~PHcEbv7w=Ke5nWpXqvdLFG z+D6wrPPiWB=cSt6q+FqF(;>RP?O6VS_*x#6q6Ep=Lb)Ht8|Wa?Zo8a9oK3Q?317CP zFWrU=;!>Qon`^UckG`GF6&4rO$1;k^@*DJ+8;gcE3`4orq60NNzsaSq`HxlkeosRHY zQJ3M|BCZ^2&7*y$l44jscQoN838|#V+S<6VR0dJ+c=hqN7PXi_QU{^2AWhclxee|r z0msnr_M~sM<$AI=9u|(fAyLz*8rj0m>ZGPKXacqBU~#s8CYviPFRKrYs2L@-mHf$# zHKDX74;e<&U5>PZo}UgRZyF@i9K%sE?IXz^3a6aQ7Pglsg_ESKRg;C8elC+MEG?=1 zxJU4~#LrV>LGYGg7kK4DaP;DLt#DVoUUuG01uve;7A`JLDmWLRR^@s2(Jd`1^5a~j z@6e#nPkpS&yk%JA>++zyXLV>a=~}i=U6#h+_zEC6Vbh|-R^97`QTyf9sCn|WXIS3& z0K@gvo>Hwv$*FtOiGmC1iYV?{0S`VwQPe%JBP}<+Bv8U@0iDVYM0D!cFGiP##|RGi z8121cRFw3Z!lV0b>T7AYq6NpX+-7o_;;V0bR2uTRPx5)y+gC3LN* zzp3`Ql4@0+^Sk63ej(FeRda=N=hS{L>4Wj`QVZx>?pSHDlT~f3ZM?E`*i1g9ah6`> zj5ZIp8{y#9_zXOz#Wh%u71C76OPtv?euJ-?FBN)Vf&c^{009U<00Izz00bZa0SG|g z>!|93OW6H@y;wolrf(w=2P>z`M3G!Xn+F4-~X%TKMFlCK>z{}fB*y_009U<00Izz00ba# z0tIwEZ^Zxq|4cDon9ojNhzJP+5P$##AOHafKmY;|fB*y_Fcku)wTx=Kr_J2euDqjV zl#Eamv9K_sW(?!>_nUuRj{pDvxnjOFpHBq{f`kABAOHafKmY;|fB*y_009V0i9nV< z5>PcQL!SXe-~THMQxZ7Bga8B}009U<00Izz00bZa0SHW~0Du3F_y1E``3M^V5P$## zAOHafKmY;|fB*!hMj-zG{}+7!|BI;!8i7Ip0uX=z1Rwwb2tWV=5P$##rb0m1=%@dq H-~ay?v`MTB diff --git a/.gitignore b/.gitignore index d3102e5..784a0d0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ *.pyc +.pytest_cache +.coverage + venv diff --git a/main_test.py b/main_test.py index 0b98938..24b895c 100755 --- a/main_test.py +++ b/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)