Exemple #1
0
    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()
Exemple #2
0
    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()
Exemple #3
0
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_())