commit ac6e625811682b96f4b1a73ab53a163dab806e6c
parent c19d6fd991cee4fd41e6127e259ef0ccb35b1b50
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date:   Sun, 28 May 2023 22:23:54 +0200
[GREEN] Add two set points -> ok (actually works for more than 2)
Diffstat:
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/thermostat.py b/thermostat.py
@@ -4,24 +4,30 @@ from datetime import datetime
 class Thermostat:
 
 	def __init__(self):
-		self.setPoint = None
+		self.setPoints = []
 
 	def GetCurrentTime(self):
 		return int(datetime.now().strftime("%H"))
 
 	def GetCurrentRequiredTemperature(self):
-		if self.setPoint != None and self.GetCurrentTime() >= self.setPoint[0]:
-			return self.setPoint[1]
-		return 10
+		time = self.GetCurrentTime()
+		lastTemp = 10
+		if len(self.setPoints) > 0:
+			for sp in self.setPoints:
+				if sp[0] <= time:
+					lastTemp = sp[1]
+				else:
+					return lastTemp
+		return lastTemp
 
 	def AddSetPoint(self, hour, temperature):
-		self.setPoint = (hour, temperature)
+		self.setPoints.append((hour, temperature))
 
 class TestableThermostat(Thermostat):
 
 	def __init__(self, hour):
 		self.hour = hour
-		self.setPoint = None
+		self.setPoints = []
 
 	def GetCurrentTime(self):
 		return self.hour