diff --git a/README.md b/README.md
index d69a6a47f501b9e7306740a31e87eb3dc4cfba1e..ee2e20ff60bc3c30d490da31beb3e6ab67d575a7 100644
--- a/README.md
+++ b/README.md
@@ -30,3 +30,9 @@ Vous pouvez lancer les tests préfaits avec la commande :
 Le rapport du projet se situe à l'emplacement : doc/rapport.pdf 
 Les sources du rapport sont à l'emplacement : doc/rapport.tex
 
+## Sources : 
+
+* src/main.ml contient toutes les fonctions du programme principale
+* src/user.ml appelle les fonctions du main pour demander à l'utilisateur une commande
+* src/tests.ml contient tous les tests sur les fonctions du main
+
diff --git a/src/.tests.ml.swo b/src/.tests.ml.swo
index 89ca5458329f843b672681f3b1002ec4f31f6591..d67f08b0cc2803bc6e9e7e91deffd8e360cc3ab7 100644
Binary files a/src/.tests.ml.swo and b/src/.tests.ml.swo differ
diff --git a/src/tests.ml b/src/tests.ml
index 97740365c6643e418c45ec1af738cb0ff569a93d..7a49f9d07088b46ff2b00d78442c7fd6a24089e3 100644
--- a/src/tests.ml
+++ b/src/tests.ml
@@ -196,8 +196,27 @@ test_quelle_roue 27;;
 (*test tourner_list c n i l *)
 printf "      Fonction [tourner_list c n i l]\n";;
 
+let list_test_tourner_list=[
+    [' ';'A';'B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z'];
+    ['A';'B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z';' '];
+    ['B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z';' ';'A'];
+    ['C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z';' ';'A';'B'];
+    ['D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z';' ';'A';'B';'C'];
+];;
+let list_test_tourner_list_result=[
+    [' ';'A';'B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z'];
+    ['A';'B';'C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z';' '];
+    ['K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z';' ';'A';'B';'C';'D';'E';'F';'G';'H';'I';'J'];
+    ['C';'D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z';' ';'A';'B'];
+    ['D';'E';'F';'G';'H';'I';'J';'K';'L';'M';'N';'O';'P';'Q';'R';'S';'T';'U';'V';'W';'X';'Y';'Z';' ';'A';'B';'C'];
+];;
+printf "tourner 9 fois la 3 eme roue d'une liste de 5 roues dans le sens de 'N'.....";;
+if (tourner_list 'N' 9 2 list_test_tourner_list) = list_test_tourner_list_result then (printf "fait\n\n") else (raise InvalidTest);; 
+
 (*test initialize_list n a*)
 printf "      Fonction [initialize_list n a]\n";;
+printf "créer une liste de 20 'N'.....";;
+if (initialize_list 20 'N') = ['N';'N';'N';'N';'N';'N';'N';'N';'N';'N';'N';'N';'N';'N';'N';'N';'N';'N';'N';'N'] then (printf "fait\n\n") else (raise InvalidTest);;
 
 (*test commande2 (n,m) *)
 printf "      Fonction [commande2 (n,m)]\n";;