From 9fe1a8c2751be76174026aff5873a5fea1926f80 Mon Sep 17 00:00:00 2001 From: TOUL Date: Mon, 24 Jul 2023 17:14:23 +0200 Subject: [PATCH] FIX shape --- TP_instructions/tp2.md | 95 +++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 48 deletions(-) diff --git a/TP_instructions/tp2.md b/TP_instructions/tp2.md index 58c7b19..4054098 100644 --- a/TP_instructions/tp2.md +++ b/TP_instructions/tp2.md @@ -41,63 +41,63 @@ Pour écrire des tests, nous allons utiliser le framework `pytest`. fichiers de tests, c'est probablement qu'il faut découper le fichier contenant les fonctions également. 3. Pour écrire les tests, nous recommandons d'utiliser le format "Given / When / Then" et le paradigme "assert first" - 1. Créer une fonction `test_process_name` selon le template suivant: - ```python - def test_process_name(): - # Given + 1. Créer une fonction `test_process_name` selon le template suivant: + ```python + def test_process_name(): + # Given - # When + # When - # Then - ``` - 2. Écrire le `then` en premier, nous allons nous assurer que le résultat est bien celui attendu, en comparant 2 data - frames. - ```python - import pandas as pd + # Then + ``` + 2. Écrire le `then` en premier, nous allons nous assurer que le résultat est bien celui attendu, en comparant 2 data + frames. + ```python + import pandas as pd - def test_process_name(): - # Given + def test_process_name(): + # Given - # When + # When - # Then - pd.testing.assert_frame_equal(expected_df, result_df) - ``` - - Commencez par le Then permet de s'assurer que l'on sait ce que l'on veut valider - 3. Écrire le `when` : l'appel à la fonction - ```python - import pandas as pd - from src.feature_engineering import process_name + # Then + pd.testing.assert_frame_equal(expected_df, result_df) + ``` + + Commencez par le Then permet de s'assurer que l'on sait ce que l'on veut valider + 3. Écrire le `when` : l'appel à la fonction + ```python + import pandas as pd + from src.feature_engineering import process_name - def test_process_name(): - # Given + def test_process_name(): + # Given - # When - result_df = process_name(df) + # When + result_df = process_name(df) - # Then - pd.testing.assert_frame_equal(expected_df, result_df) - ``` - 4. Finir par écrire le `given` - ```python - import pandas as pd - from src.feature_engineering import process_name + # Then + pd.testing.assert_frame_equal(expected_df, result_df) + ``` + 4. Finir par écrire le `given` + ```python + import pandas as pd + from src.feature_engineering import process_name - def test_process_name(): - # Given - df = pd.DataFrame({"Name": ["Braund, Mr. Owen Harris"]}) - expected_df = pd.DataFrame({"Name": ["Braund, Mr. Owen Harris"], - "Name_Len": [23], - "Name_Title": "Mr."}) - # When - result_df = process_name(df) + def test_process_name(): + # Given + df = pd.DataFrame({"Name": ["Braund, Mr. Owen Harris"]}) + expected_df = pd.DataFrame({"Name": ["Braund, Mr. Owen Harris"], + "Name_Len": [23], + "Name_Title": "Mr."}) + # When + result_df = process_name(df) - # Then - pd.testing.assert_frame_equal(expected_df, result_df) - ``` - Pour écrire les données de tests, nous recommandons (si ce ne sont pas des données personnelles ou - confidentielles) d'utiliser des données de la production. + # Then + pd.testing.assert_frame_equal(expected_df, result_df) + ``` + Pour écrire les données de tests, nous recommandons (si ce ne sont pas des données personnelles ou + confidentielles) d'utiliser des données de la production. 4. Exécuter les tests en cliquant sur la petite flèche verte à côté du nom de la fonction ## Écrire d'autres tests @@ -106,7 +106,6 @@ Duration: 0:15:00 Pour vous exercer, écrivez 3 autres tests automatisés sur d'autres fonctions. - ## Lien vers le TP suivant Duration: 0:01:00