test_runner.py 941 B

123456789101112131415161718192021222324252627282930313233343536
  1. '''
  2. Created on 27-jul.-2014
  3. @author: Simon
  4. '''
  5. import tkinter as tk
  6. import target as target
  7. from sccd.runtime.libs.ui_v2 import UI
  8. from sccd.runtime.tkinter_eventloop import TkEventLoop
  9. import time
  10. class OutputListener:
  11. def __init__(self, controller, ui, log_file):
  12. self.ui = ui
  13. self.controller = controller
  14. self.log_file = log_file
  15. def add(self, event):
  16. with open(self.log_file, 'a') as file:
  17. file.write(f'{self.controller.getSimulatedTime()/1000} {event}\n')
  18. if event.port == "ui":
  19. method = getattr(self.ui, event.name)
  20. method(*event.parameters)
  21. if __name__ == '__main__':
  22. tkroot = tk.Tk()
  23. tkroot.withdraw()
  24. controller = target.Controller(TkEventLoop(tkroot))
  25. ui = UI(tkroot, controller)
  26. controller.addMyOwnOutputListener(OutputListener(controller, ui, "./examples/BouncingBalls/Python/output.txt"))
  27. controller.setVerbose("./examples/BouncingBalls/Python/trace.txt")
  28. controller.start()
  29. tkroot.mainloop()