This repository has been archived on 2021-09-15. You can view files and clone it, but cannot push or open issues or pull requests.
L3GestionParking/src/m/test/TestParking.py

101 lines
3.5 KiB
Python

"""
Test du du Module m/Parking
"""
from src.m.Voiture import Voiture
from nose.tools import assert_equal,assert_not_equal
from src.m.Parking import Parking, TypePlace, Place
## Test Parking
class TestParking:
## Test Instenciation
def TestParking(self):
p = Parking(None, "test", [TypePlace(None, 220, 200, 4, 2.5, 1), TypePlace(None, 200, 130, 5, 2.5, 1)])
id = p.id
assert_equal(p.nbPlacesLibresParking, 13, "Nombre de place libre non valide")
assert_equal(p.nbPlaces, 13, "Nombre de place non valide")
assert_equal(p.nbSuperAbo, 0, "Nombre de place super abo")
def TestRecherchePlace(self):
p = Parking(None, "test", [TypePlace(None, 220, 200, 4, 2.5, 1)])
v = Voiture(None,None,300,300)
place = p.recherchePlace(v)
assert_equal(place, None, "Aucune place devrait etre trouve")
p = Parking(None, "test", [TypePlace(None, 220, 200, 4, 2.5, 1)])
v = Voiture(None,None,100,300)
place = p.recherchePlace(v)
assert_equal(place, None, "Aucune place devrait etre trouve")
p = Parking(None, "test", [TypePlace(None, 220, 200, 4, 2.5, 1)])
v = Voiture(None,None,300,100)
place = p.recherchePlace(v)
assert_equal(place, None, "Aucune place devrait estre trouve")
p = Parking(None, "test", [TypePlace(None, 220, 200, 4, 2.5, 1)])
v = Voiture(None,None,10,10,"lol")
place = p.recherchePlace(v)
assert_not_equal(place is None, False, "Une place devrait etre trouve")
## Test Place
class TestPlace:
## Test intanciation
def TestPlace(self):
t1 = TypePlace(None, 220, 200, 4, 2.5, 1)
parking = Parking(None, "test", [t1])
p = Place(None, parking, t1, 2, 1)
## Test de pendre et liberer les places
def TestPrendreLiberer(self):
t1 = TypePlace(None, 220, 200, 4, 2.5, 1)
parking = Parking(None, "test", [t1])
p = Place(None, parking, t1, 2, 1)
assert_equal(p.estlibre, True, "La place devrait etre libre")
p.prendre()
assert_equal(p.estlibre, False, "La place ne devrait ne pas etre libre")
try:
p.prendre()
assert_equal(True, False, "Une place prise ne peut pas a nouveau prise")
except Exception:
pass
p.liberer()
assert_equal(p.estlibre, True, "La place devrait etre libre")
try:
p.liberer()
assert_equal(True, False, "Une place libre ne peut pas a nouveau liberée")
except Exception:
pass
## Test Types Places
class TestTypePlace:
## Test Istanciation
def TestTypePlace(self):
# Creation
t = TypePlace(None, 220, 200, 4, 2.5, 1)
assert_equal(t.longueur, 220, "Valeur non attendue pour la longueur")
assert_equal(t.hauteur, 200, "Valeur non attendue pour la hauteur")
assert_equal(t.nombre, 4, "Valeur non attendue pour le nombre de place")
assert_equal(t.prix, 2.5, "Valeur non attendue pour le prix")
assert_equal(t.niveau, 1, "Valeur non attendue pour le niveau")
id = t.id
#Recuperer un TypePlace Non existant
try:
t = TypePlace("aaaa")
assert_equal(True, False, "Un id invalide pour une type de place doit lever une exection")
except IndexError:
pass
#Recuperer un TypePlace existant
try:
t = TypePlace(id)
except IndexError:
assert_equal(True, False, "Un id valide pour une type de place ne doit pas lever une exection")