def test_start_stop_binrule(self, size, base, scale, histogram): print size, base, scale, histogram sim_obj = cagen.ElementarySimulator(size, copy_borders=True, base=base, histogram=histogram) display = ZasimDisplay(sim_obj) display.set_scale(scale) if histogram: extra_hist = HistogramExtraDisplay(sim_obj, parent=display, height=200, maximum=size[0] * size[1]) extra_hist.show() display.window.attach_display(extra_hist) display.window.addDockWidget(Qt.RightDockWidgetArea, extra_hist) QTest.qWaitForWindowShown(display.window) QTest.mouseClick(display.control.start_button, Qt.LeftButton) for execution in seconds(0.1): self.app.processEvents() assert not display.control.start_button.isVisible() for execution in seconds(0.1): self.app.processEvents() QTest.mouseClick(display.control.stop_button, Qt.LeftButton) for execution in seconds(0.1): self.app.processEvents() assert not display.control.stop_button.isVisible() self.app.closeAllWindows() fail_on_exceptions()
def test_elementary_gui(self, base): sim_obj = cagen.ElementarySimulator((10, 10), copy_borders=True, base=base) display = ZasimDisplay(sim_obj) display.set_scale(1) QTest.qWaitForWindowShown(display.window) menu = display.window.menuBar().findChild(QMenu, u"simulator_menu") assert menu is not None QTest.mouseClick(menu, Qt.LeftButton) elementary_action = menu.findChild(QAction, u"stepfunc_table") elementary_action.trigger() for execution in seconds(0.1): self.app.processEvents() elementary_window = self.app.activeWindow() assert elementary_window is not None actions = [act for act in elementary_window.findChildren(QPushButton) if act is not None and act.objectName().startswith("action_")] for action in actions: QTest.mouseClick(action, Qt.LeftButton) for execution in seconds(0.1): self.app.processEvents() self.app.closeAllWindows() fail_on_exceptions()
def main(width=200, height=200, scale=2, beta=100, nondet=100, copy_borders=True, black=80, histogram=True, activity=True, base=7): beta = beta / 100. nondet = nondet / 100. w, h = width, height size = w, h if black is not None: config = RandomConfiguration(base, black) else: config = None sim_obj = SillySim(size=size, config=config, base=base, nondet=nondet, histogram=histogram, activity=activity, beta=beta, copy_borders=copy_borders) display = ZasimDisplay(sim_obj) display.set_scale(scale) display.control.start() if histogram: extra_hist = HistogramExtraDisplay(sim_obj, parent=display, height=200, maximum= w * h) extra_hist.show() display.window.attach_display(extra_hist) display.window.addDockWidget(Qt.RightDockWidgetArea, extra_hist) if activity: extra_activity = HistogramExtraDisplay(sim_obj, attribute="activity", parent=display, height=200, maximum=w*h) extra_activity.show() display.window.attach_display(extra_activity) display.window.addDockWidget(Qt.RightDockWidgetArea, extra_activity) sys.exit(app.exec_())