Skip to content

Commit 817675c

Browse files
committed
test: fix RecursionError aggiungendo mock per maxsize e minsize
1 parent 2886cb1 commit 817675c

3 files changed

Lines changed: 417 additions & 143 deletions

File tree

src/UniPark.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66

77
# ==================== MODELLO DATI (MODEL) ====================
88

9+
910
class ParkingZone:
1011
"""Classe che modella lo stato di un singolo parcheggio fisico.
11-
Utilizza un oggetto Lock() per prevenire la 'race condition': evita che
12-
due thread (quello della simulazione e quello utente) modifichino
12+
Utilizza un oggetto Lock() per prevenire la 'race condition': evita che
13+
due thread (quello della simulazione e quello utente) modifichino
1314
i posti disponibili nello stesso millisecondo causando errori.
1415
"""
1516

@@ -21,12 +22,12 @@ def __init__(self, name, capacity, free_slots):
2122
self.waiting = 0
2223
self.lock = Lock()
2324

24-
@property
25+
@property
2526
def occupied_slots(self):
2627
"""Calculo dinamico dei posti occupati deducendoli da quelli liberi."""
2728
return self.capacity - self.free_slots
2829

29-
@property
30+
@property
3031
def occupancy_rate(self):
3132
"""Restituisce la percentuale di riempimento attuale."""
3233
return (self.occupied_slots / self.capacity) * 100
@@ -63,8 +64,10 @@ def get_status_dict(self):
6364
"rate": self.occupancy_rate,
6465
}
6566

67+
6668
# ==================== SISTEMA CENTRALE (CONTROLLER) ====================
6769

70+
6871
class UniParkSystem:
6972
"""Orchestratore principale che gestisce l'insieme dei parcheggi dell'Università."""
7073

@@ -89,4 +92,4 @@ def get_zone_by_name(self, name):
8992
for zone in self.zones:
9093
if zone.name == name:
9194
return zone
92-
return None
95+
return None

0 commit comments

Comments
 (0)