monostate.py 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. class WeatherStation:
  2. __shared_data = {"temperature": 0,
  3. "humidity": 0,
  4. "pressure": 0}
  5. def __init__(self):
  6. self.__dict__ = WeatherStation.__shared_data
  7. def update_data(self, temp, hum, pres):
  8. self.__shared_data['temperature'] = temp
  9. self.__shared_data['humidity'] = hum
  10. self.__shared_data['pressure'] = pres
  11. def get_current_data(self):
  12. return (self.__shared_data['temperature'], self.__shared_data['humidity'], self.__shared_data['pressure'])
  13. sensor1 = WeatherStation()
  14. assert sensor1.temperature == 0
  15. assert sensor1.humidity == 0
  16. assert sensor1.pressure == 0
  17. sensor2 = WeatherStation()
  18. assert sensor2.get_current_data() == (0, 0, 0)
  19. sensor1.update_data(25, 60, 103)
  20. assert sensor1.get_current_data() == (25, 60, 103)
  21. assert sensor2.get_current_data() == (25, 60, 103)
  22. sensor3 = WeatherStation()
  23. assert sensor3.get_current_data() == (25, 60, 103)
  24. sensor3.update_data(50, 20, 10)
  25. assert sensor1.get_current_data() == (50, 20, 10)
  26. assert sensor2.get_current_data() == (50, 20, 10)
  27. print('Good')