Commit 2b929a52 authored by MACHADO-VICENTE MICKAEL's avatar MACHADO-VICENTE MICKAEL
Browse files

Tests finalisés

parent b1120603
......@@ -25,6 +25,10 @@ Creation liste de capteurs et tags lus comme exemple
tag_faux = ["0001q", "0002q", "0001p", "0003q", "0002p", "0004q", "0003p",
"0004p", "0005q", "", "", "0007q", "0006p", "0008q", "0007p"]
tag_juste = ["0001q", "0004q", "0006q", "0002q", "0005q", "0007q", "0008q",
"0001p","0002p","0003p", "0004p", "0005p", "0006p", "0007p", "0008p"]
capteurs = []
for i in range(1, 16):
capteurs.append(Capteur(i, tag_faux[i - 1]))
......
import unittest
from lecteur_bd import *
from verification_elements import *
from pathlib import Path
import os
import re
chemin_bd = Path(os.getcwd()).joinpath("data/base_donees.xlsx")
lecteur_bd = LecteurBd(chemin_bd)
tag_faux = ["0001q", "0002q", "0001p", "0003q", "0002p", "0004q", "0003p",
"0004p", "0005q", "", "", "0007q", "0006p", "0008q", "0007p"]
capteurs = []
for i in range(1, 16):
capteurs.append(Capteur(i, tag_faux[i - 1]))
test_verif_faux = VerificationElements(lecteur_bd.liste_personnages, lecteur_bd.liste_question, capteurs)
test_verif_faux.verification_globale()
test_verif_vide = VerificationElements(lecteur_bd.liste_personnages, lecteur_bd.liste_question, [])
class TestStringMethods(unittest.TestCase):
def test_VerificationElements(self):
test_verif = VerificationElements(lecteur_bd.liste_personnages, lecteur_bd.liste_question, capteurs)
self.assertIsInstance(test_verif, VerificationElements)
# Test liste personnage en base de données
self.assertTrue(any(isinstance(personnage,(Personnage)) for personnage in test_verif.liste_personnages))
self.assertEqual(len(test_verif.liste_personnages), 8)
# Test liste question en base de données
self.assertTrue(any(isinstance(question,(Question)) for question in test_verif.liste_questions))
self.assertEqual(len(test_verif.liste_questions), 10)
# Test liste capteur en base de données
self.assertTrue(any(isinstance(capteur,(Capteur)) for capteur in test_verif.liste_tags))
self.assertEqual(len(test_verif.liste_tags), 15)
# Test __calcul_nb_etages
self.assertEqual(test_verif.nb_etage, 4)
self.assertEqual(test_verif_vide.nb_etage, 0)
# Test résultats led à l'initialisation
self.assertTrue(len(test_verif.resultat_leds), 14)
self.assertEqual(test_verif.resultat_leds, [-1]*14)
# Test liste objets lus
self.assertEqual(len(test_verif.liste_objects_lus), 15)
self.assertTrue(any(isinstance(objet_lu, (Personnage, Question)) for objet_lu in test_verif.liste_objects_lus))
# Test liste index personnage
self.assertEqual(len(test_verif.liste_index_personnage), 6)
self.assertEqual(test_verif.liste_index_personnage, [2, 4, 6, 7, 12, 14])
# Test liste index question
self.assertEqual(len(test_verif.liste_index_question), 7)
self.assertEqual(test_verif.liste_index_question, [0, 1, 3, 5, 8, 11, 13])
# Test indexes pour un plateau vide
self.assertEqual(len(test_verif_vide.liste_objects_lus), 0)
self.assertEqual(len(test_verif_vide.liste_index_personnage), 0)
self.assertEqual(len(test_verif_vide.liste_index_question), 0)
def test_validite_branche_recursif(self):
validite = {}
test_verif_faux.validite_branche_recursif(4, validite)
self.assertEqual(validite, {0: 1, 1: 1, 9: -1, 10: -1})
# A améliorer
def test_verification_personnages(self):
validite = {}
test_verif_faux.validite_branche_recursif(4, validite)
verification_question_personnage, perso_correspond_questions = test_verif_faux.verification_personnages(4, validite)
self.assertEqual(verification_question_personnage, {1: 1, 0: 1})
self.assertEqual(perso_correspond_questions, True)
test_verif_faux.validite_branche_recursif(6, validite)
verification_question_personnage, perso_correspond_questions = test_verif_faux.verification_personnages(6, validite)
self.assertEqual(verification_question_personnage, {})
self.assertEqual(perso_correspond_questions, False)
def test_verification_globale(self):
self.assertSequenceEqual(test_verif_faux.resultat_leds, [1, 0, 1, 1, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0])
self.assertSequenceEqual(test_verif_vide.resultat_leds, [])
def test_lecteur_bd(self):
self.assertIsInstance(lecteur_bd, LecteurBd)
self.assertTrue(re.search(r'data\\base_donees\.xlsx$', str(lecteur_bd.fichier_bd)))
self.assertTrue(any(isinstance(personnage,(Personnage)) for personnage in lecteur_bd.liste_personnages))
self.assertEqual(len(lecteur_bd.liste_personnages), 8)
self.assertTrue(any(isinstance(question,(Question)) for question in lecteur_bd.liste_question))
self.assertEqual(len(lecteur_bd.liste_question), 10)
def test_capteur(self):
capteur = Capteur(i,tag_faux[i - 1])
self.assertIsInstance(capteur, (Capteur))
self.assertEqual(capteur.numero_capteur, 15)
self.assertEqual(capteur.tag_lu, '0007p')
if __name__ == '__main__':
unittest.main()
\ No newline at end of file
import unittest
from lecteur_bd import *
from verification_elements import *
from pathlib import Path
import os
import re
class TestCapteur(unittest.TestCase):
def setUp(self):
self.tag_juste = ["0001q", "0004q", "0006q", "0002q", "0005q", "0007q", "0008q",
"0001p","0002p","0003p", "0004p", "0005p", "0006p", "0007p", "0008p"]
def test_capteur(self):
capteur = Capteur(1, self.tag_juste[0])
self.assertIsInstance(capteur, (Capteur))
self.assertEqual(capteur.numero_capteur, 1)
self.assertEqual(capteur.tag_lu, '0001q')
if __name__ == '__main__':
unittest.main()
\ No newline at end of file
import unittest
from lecteur_bd import *
from verification_elements import *
from pathlib import Path
import os
import re
class TestLecteur(unittest.TestCase):
def setUp(self):
# """Initialisation des tests"""
self.chemin_bd = Path(os.getcwd()).joinpath("data/base_donees.xlsx")
self.lecteur_bd = LecteurBd(self.chemin_bd)
def test_lecteur_bd(self):
self.assertIsInstance(self.lecteur_bd, LecteurBd)
self.assertTrue(re.search(r'data\\base_donees\.xlsx$', str(self.lecteur_bd.fichier_bd)))
self.assertTrue(any(isinstance(personnage,(Personnage)) for personnage in self.lecteur_bd.liste_personnages))
self.assertEqual(len(self.lecteur_bd.liste_personnages), 8)
self.assertTrue(any(isinstance(question,(Question)) for question in self.lecteur_bd.liste_question))
self.assertEqual(len(self.lecteur_bd.liste_question), 10)
if __name__ == '__main__':
unittest.main()
\ No newline at end of file
import unittest
from lecteur_bd import *
from verification_elements import *
from pathlib import Path
import os
import re
class TestVerificationElements(unittest.TestCase):
def setUp(self):
# """Initialisation des tests"""
self.chemin_bd = Path(os.getcwd()).joinpath("data/base_donees.xlsx")
self.lecteur_bd = LecteurBd(self.chemin_bd)
self.tag_faux = ["0001q", "0002q", "0001p", "0003q", "0002p", "0004q", "0003p",
"0004p", "0005q", "", "", "0007q", "0006p", "0008q", "0007p"]
self.tag_juste = ["0001q", "0004q", "0006q", "0002q", "0005q", "0007q", "0008q",
"0001p","0002p","0003p", "0004p", "0005p", "0006p", "0007p", "0008p"]
self.capteurs_faux = []
self.capteurs_juste = []
for i in range(1, 16):
self.capteurs_faux.append(Capteur(i, self.tag_faux[i - 1]))
self.capteurs_juste.append(Capteur(i, self.tag_juste[i - 1]))
self.test_verif_faux = VerificationElements(self.lecteur_bd.liste_personnages, self.lecteur_bd.liste_question, self.capteurs_faux)
self.test_verif_juste = VerificationElements(self.lecteur_bd.liste_personnages, self.lecteur_bd.liste_question, self.capteurs_juste)
self.test_verif_vide = VerificationElements(self.lecteur_bd.liste_personnages, self.lecteur_bd.liste_question, [])
def test_init_VerificationElements(self):
# On test l'initialisation.
self.assertIsInstance(self.test_verif_juste, VerificationElements)
self.assertIsInstance(self.test_verif_faux, VerificationElements)
self.assertIsInstance(self.test_verif_vide, VerificationElements)
def test_liste_personnage(self):
# Test liste personnage en base de données
self.assertTrue(any(isinstance(personnage,(Personnage)) for personnage in self.test_verif_juste.liste_personnages))
self.assertEqual(len(self.test_verif_juste.liste_personnages), 8)
def test_liste_question(self):
# Test liste question en base de données
self.assertTrue(any(isinstance(question,(Question)) for question in self.test_verif_juste.liste_questions))
self.assertEqual(len(self.test_verif_juste.liste_questions), 10)
def test_liste_question(self):
# Test liste capteur en base de données
self.assertTrue(any(isinstance(capteur,(Capteur)) for capteur in self.test_verif_juste.liste_tags))
self.assertEqual(len(self.test_verif_juste.liste_tags), 15)
def test_calcul_nb_etages(self):
# Test __calcul_nb_etages
self.assertEqual(self.test_verif_juste.nb_etage, 4)
self.assertEqual(self.test_verif_vide.nb_etage, 0)
def test_resultats_leds(self):
# Test résultats led à l'initialisation
self.assertTrue(len(self.test_verif_juste.resultat_leds), 14)
self.assertEqual(self.test_verif_juste.resultat_leds, [-1]*14)
def test_liste_objets_lus(self):
# Test liste objets lus
self.assertEqual(len(self.test_verif_juste.liste_objects_lus), 15)
self.assertTrue(any(isinstance(objet_lu, (Personnage, Question)) for objet_lu in self.test_verif_juste.liste_objects_lus))
# Liste vide
self.assertEqual(len(self.test_verif_vide.liste_objects_lus), 0)
def test_list_index_personnage(self):
# Test liste index personnage
self.assertEqual(len(self.test_verif_juste.liste_index_personnage), 8)
self.assertEqual(self.test_verif_juste.liste_index_personnage, [7, 8, 9, 10, 11, 12, 13, 14])
# Liste vide
self.assertEqual(len(self.test_verif_vide.liste_index_personnage), 0)
def test_list_index_question(self):
# Test liste index question
self.assertEqual(len(self.test_verif_juste.liste_index_question), 7)
self.assertEqual(self.test_verif_juste.liste_index_question, [0, 1, 2, 3, 4, 5, 6])
# Liste vide
self.assertEqual(len(self.test_verif_vide.liste_index_question), 0)
def test_validite_branche_recursif(self):
# Test validité d'une branche fausse
validite_faux = {}
self.test_verif_faux.validite_branche_recursif(4, validite_faux)
self.assertEqual(validite_faux, {0: 1, 1: 1, 9: -1, 10: -1})
# Test validité d'une branche juste
validite_juste = {}
self.test_verif_juste.validite_branche_recursif(4, validite_juste)
self.assertEqual(validite_juste, {0: 1, 1: 1})
# Test validité d'une branche vide
validite_vide = {}
self.test_verif_vide.validite_branche_recursif(4, validite_vide)
self.assertEqual(validite_vide, {1: -1})
def test_verification_personnages(self):
# Test verification des personnages pour arbre faux
validite_faux = {}
self.test_verif_faux.validite_branche_recursif(7, validite_faux)
verification_question_personnage_faux, perso_correspond_questions_faux = self.test_verif_faux.verification_personnages(7, validite_faux)
self.assertEqual(verification_question_personnage_faux, {0: 1, 1: 1, 3: 0})
self.assertEqual(perso_correspond_questions_faux, False)
# Test verification des personnages pour arbre juste
validite_juste = {}
self.test_verif_juste.validite_branche_recursif(7, validite_juste)
verification_question_personnage_juste, perso_correspond_questions_juste = self.test_verif_juste.verification_personnages(7, validite_juste)
self.assertEqual(verification_question_personnage_juste, {0: 1, 1: 1, 3: 1})
self.assertEqual(perso_correspond_questions_juste, True)
# Test verification des personnages pour arbre vide, renvoie une erreur
validite_vide = {}
self.test_verif_vide.validite_branche_recursif(7, validite_vide)
with self.assertRaises(IndexError):
verification_question_personnage_vide, perso_correspond_questions_vide = self.test_verif_vide.verification_personnages(0, validite_vide)
def test_verification_globale(self):
self.test_verif_faux.verification_globale()
self.test_verif_juste.verification_globale()
self.test_verif_vide.verification_globale()
self.assertSequenceEqual(self.test_verif_juste.resultat_leds, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
self.assertSequenceEqual(self.test_verif_faux.resultat_leds, [1, 0, 1, 1, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0])
self.assertSequenceEqual(self.test_verif_vide.resultat_leds, [])
if __name__ == '__main__':
unittest.main()
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment