6 Commits
v13 ... v15

Author SHA1 Message Date
560e9ee6db On ne cherche pas à couvrir ce qui n'est pas testable
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2021-01-28 18:07:42 +01:00
db413e4a35 Réparation du tri
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2021-01-28 14:50:37 +01:00
e8fc6d0816 On remplace les if en elif pour avoir un résultat correct
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2021-01-28 14:47:20 +01:00
be7efbbfa7 Pour vérifier les calculs, on commence par transformer les entrées en entiers
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2021-01-28 14:45:58 +01:00
b8161eef93 Réparation des blagues
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2021-01-28 14:44:02 +01:00
bcfd13442f Réparation du séminaire
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
2021-01-28 14:42:23 +01:00
2 changed files with 28 additions and 24 deletions

48
main.py
View File

@ -14,7 +14,7 @@ from random import choice
import sys import sys
def main(): def main(): # pragma: nocover
""" """
Fonction principale, qui va attendre les instructions de l'utilisateur. Fonction principale, qui va attendre les instructions de l'utilisateur.
""" """
@ -51,16 +51,16 @@ def seminaire():
""" """
Affiche les slides du séminaire. Affiche les slides du séminaire.
""" """
print("\x4c\x61\x69\x73\x73\x65\x20\x74\x6f\x6d\x62\x65" return "\x4c\x61\x69\x73\x73\x65\x20\x74\x6f\x6d\x62\x65" \
"\x72\x2c\x20\x74\x6f\x6e\x20\x74\x72\x75\x63\x20" "\x72\x2c\x20\x74\x6f\x6e\x20\x74\x72\x75\x63\x20" \
"\x65\x73\x74\x20\x74\x72\x6f\x70\x20\x62\x65\x75" "\x65\x73\x74\x20\x74\x72\x6f\x70\x20\x62\x65\x75" \
"\x67\x75\xe9\x2c\x20\x74\x75\x20\x64\x65\x76\x72" "\x67\x75\xe9\x2c\x20\x74\x75\x20\x64\x65\x76\x72" \
"\x61\x69\x73\x20\x70\x61\x73\x73\x65\x72\x20\x64" "\x61\x69\x73\x20\x70\x61\x73\x73\x65\x72\x20\x64" \
"\x75\x20\x74\x65\x6d\x70\x73\x20\xe0\x20\xe9\x63" "\x75\x20\x74\x65\x6d\x70\x73\x20\xe0\x20\xe9\x63" \
"\x72\x69\x72\x65\x20\x64\x65\x73\x20\x74\x65\x73" "\x72\x69\x72\x65\x20\x64\x65\x73\x20\x74\x65\x73" \
"\x74\x73\x20\x65\x74\x20\x66\x61\x69\x72\x65\x20" "\x74\x73\x20\x65\x74\x20\x66\x61\x69\x72\x65\x20" \
"\x64\xe9\x66\x69\x6c\x65\x72\x20\x74\x65\x73\x20" "\x64\xe9\x66\x69\x6c\x65\x72\x20\x74\x65\x73\x20" \
"\x73\x6c\x69\x64\x65\x73") "\x73\x6c\x69\x64\x65\x73"
def blague(): def blague():
@ -68,10 +68,10 @@ def blague():
Renvoie une blague aléatoire. Renvoie une blague aléatoire.
""" """
return choice( return choice(
["Je vais vous raconter une blague sur, mais vous " ["Je vais vous raconter une blague sur UDP, mais vous "
"ne l'aurez peut-être pas.", "ne l'aurez peut-être pas.",
"Connaissez-vous la différence entre la théroie " "Connaissez-vous la différence entre la théorie "
"et la pratique ? Il n'y en left pas, en théorie."]) "et la pratique ? Il n'y en a pas, en théorie."])
def calcul(left: int, right: int, res: int, operation='+'): def calcul(left: int, right: int, res: int, operation='+'):
@ -79,19 +79,23 @@ def calcul(left: int, right: int, res: int, operation='+'):
Vérifie si left operation b == c, où a, b et c sont des entiers. Vérifie si left operation b == c, où a, b et c sont des entiers.
L'opération peut être +, -, *, /, &, |, ^, % ou l'un de ses alias anglais. L'opération peut être +, -, *, /, &, |, ^, % ou l'un de ses alias anglais.
""" """
left = int(left)
right = int(right)
res = int(res)
if operation in ['+', 'add', 'sum']: if operation in ['+', 'add', 'sum']:
result = left + right result = left + right
if operation in ['-', 'sub']: elif operation in ['-', 'sub']:
result = left - right result = left - right
if operation in ['*', 'mul', 'prod']: elif operation in ['*', 'mul', 'prod']:
result = left * right result = left * right
if operation in ['/', 'div']: elif operation in ['/', 'div']:
result = left / right result = left / right
if operation in ['&', 'and']: elif operation in ['&', 'and']:
result = left & right result = left & right
if operation in ['|', 'or']: elif operation in ['|', 'or']:
result = left | right result = left | right
if operation in ['^', 'xor']: elif operation in ['^', 'xor']:
result = left ^ right result = left ^ right
else: else:
result = left % right result = left % right
@ -102,7 +106,7 @@ def tri(*args):
""" """
Trie les éléments donnés en argument. Trie les éléments donnés en argument.
""" """
return sorted(args) return sorted(int(number) for number in args)
def stop(exit_code: int = 0): def stop(exit_code: int = 0):
@ -113,5 +117,5 @@ def stop(exit_code: int = 0):
sys.exit(exit_code) sys.exit(exit_code)
if __name__ == '__main__': if __name__ == '__main__': # pragma: nocover
main() main()

View File

@ -77,9 +77,9 @@ class TestMain(unittest.TestCase):
À partir d'une liste donnée, on trie la liste À partir d'une liste donnée, on trie la liste
et on vérifie qu'elle est bien triée. et on vérifie qu'elle est bien triée.
""" """
my_list = [23, 16, 234567, -4] my_list = ["23", "16", "234567", "-4"]
shuffle(my_list) shuffle(my_list)
sorted_list = sorted(my_list) sorted_list = [-4, 16, 23, 234567]
self.assertEqual(main.commande("tri", *my_list), sorted_list) self.assertEqual(main.commande("tri", *my_list), sorted_list)
def test_stop(self): def test_stop(self):