Skip to content
Snippets Groups Projects
Commit 2bab5561 authored by Mathias Thirion's avatar Mathias Thirion
Browse files

test

parent c39e5665
No related branches found
No related tags found
No related merge requests found
Pipeline #46405 failed
...@@ -28,4 +28,14 @@ pylint: ...@@ -28,4 +28,14 @@ pylint:
# À toi de nous rajouter un petit job pour faire des tests unitaires # À toi de nous rajouter un petit job pour faire des tests unitaires
pytest: pytest:
stage: test
dependencies:
- download_dependencies
needs:
- download_dependencies
script:
- source .venv/bin/activate
- pip install pytest
- pytest calculator
## Bon courage ## Bon courage
...@@ -25,6 +25,9 @@ def test_tokenizer(setup): ...@@ -25,6 +25,9 @@ def test_tokenizer(setup):
""" """
plus, minus, times, divide, calc = setup plus, minus, times, divide, calc = setup
assert calc.tokenize("1 + 2") == [1, plus, 2] assert calc.tokenize("1 + 2") == [1, plus, 2]
assert calc.tokenize("6 * 7 / 2") == [6, times, 7, divide, 2]
assert calc.tokenize("6 + 7 * 3") == [6, plus, 7, times, 3]
assert calc.tokenize("6 * 7 - 2 / 2") == [6, times, 7, minus, 2, divide, 2]
# À toi de tester la fonction tokenize de Calculator. # À toi de tester la fonction tokenize de Calculator.
# Essaie de tester tous les opérateurs. # Essaie de tester tous les opérateurs.
...@@ -35,6 +38,9 @@ def test_parser(setup): ...@@ -35,6 +38,9 @@ def test_parser(setup):
""" """
plus, minus, times, divide, calc = setup plus, minus, times, divide, calc = setup
assert repr(calc.parse([1, plus, 2])) == '(1 + 2)' assert repr(calc.parse([1, plus, 2])) == '(1 + 2)'
assert repr(calc.parse([6, times, 7, divide, 2])) == '(6 * 7 / 2)'
assert repr(calc.parse([6, plus, 7, times, 2])) == '(6 + 7 * 2)'
assert repr(calc.parse([6, times, 7, minus, 2, divide, 2])) == '(6 * 7 - 2 / 2)'
# À toi de tester la fonction parse de Calculator. # À toi de tester la fonction parse de Calculator.
# Essaie de tester tous les opérateurs. # Essaie de tester tous les opérateurs.
...@@ -45,5 +51,8 @@ def test_evaluation(setup): ...@@ -45,5 +51,8 @@ def test_evaluation(setup):
""" """
plus, minus, times, divide, calc = setup plus, minus, times, divide, calc = setup
assert calc("1 + 2") == 3 assert calc("1 + 2") == 3
assert calc("6 * 7 / 2") == 21
assert calc("6 + 7 * 2") == 20
assert calc("6 * 7 - 2 / 2") == 41
# À toi de tester la fonction __call__ de Calculator. # À toi de tester la fonction __call__ de Calculator.
# Essaie de tester tous les opérateurs. # Essaie de tester tous les opérateurs.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment