Esempio n. 1
0
    def test_combo_box_set_text(self):
        with quite.EventLoop(0.1):
            combo_box = quite.ComboBox()
            combo_box.show()
            times = []

            @quite.connect_with(combo_box.string.changed)
            def text_changed(text):
                if len(times) == 0:
                    self.assertEqual(text, 'first')
                elif len(times) == 1:
                    self.assertEqual(text, 'second')
                elif len(times) == 2:
                    self.assertEqual(text, 'first')
                elif len(times) == 3:
                    self.assertEqual(text, '')
                times.append(len(times))

            combo_box.string.set_value('first')
            combo_box.string.set_value('second')
            combo_box.string.set_value('first')
            self.assertEqual(len(times), 3)
            self.assertEqual(combo_box.string_list.count, 2)

            combo_box.clear()
            self.assertEqual(len(times), 4)
            self.assertEqual(combo_box.string_list.count, 0)
Esempio n. 2
0
    def test_table_widget_row(self):
        with quite.EventLoop(0.1):
            self.table_widget.show()
            executed = [False]

            times = []

            @quite.connect_with(self.table_widget.dict.changed)
            def test_changed(text):
                executed[0] = True
                if len(times) == 0:
                    self.assertEqual(text, {
                        '字符串': 'first',
                        '整形': '1',
                        '浮点型': '1.1'
                    })
                elif len(times) == 1:
                    self.assertEqual(text, {
                        '字符串': 'second',
                        '整形': '2',
                        '浮点型': '2.2'
                    })
                times.append(len(times))

            self.table_widget.dict_list.value = [{
                '字符串': 'first',
                '整形': 1,
                '浮点型': 1.1
            }, {
                '字符串': 'second',
                '整形': 2,
                '浮点型': 2.2
            }]
            self.assertTrue(executed[0])
Esempio n. 3
0
 def test_clear_data(self):
     with quite.EventLoop(0.1):
         self.plot_widget = quite.PlotWidget()
         x = np.random.random(10)
         y = np.random.random(10)
         self.plot_widget.plot(x=x, y=y)
         self.plot_widget.clear()
         self.assertEqual(self.plot_widget.get_data(), None)
Esempio n. 4
0
 def test_error_plot_data(self):
     with quite.EventLoop(0.1):
         self.plot_widget = quite.PlotWidget()
         x = np.random.random(10)
         y = np.random.random(9)
         with self.assertRaises(Exception):
             self.plot_widget.plot(x=x, y=y)
             self.plot_widget.append_plot(x=x, y=y)
Esempio n. 5
0
 def test_set_labels(self):
     with quite.EventLoop(0.1):
         self.plot_widget = quite.PlotWidget()
         valid_labels = ['X', 'Y']
         valid_units = ['x', 'y']
         self.assertEqual(self.plot_widget.set_labels(text=valid_labels, units=valid_units), None)
         in_valid_labels = ['X', 'Y', 'Z']
         self.assertRaises(ValueError, self.plot_widget.set_labels, in_valid_labels)
         in_valid_units = ['x']
         self.assertRaises(ValueError, self.plot_widget.set_labels, valid_labels, in_valid_units)
Esempio n. 6
0
    def test_combo_box_row(self):
        with quite.EventLoop(0.1):
            combo_box = quite.ComboBox()
            combo_box.show()

            combo_box.string_list.value = st.foreach(str, range(10))
            self.assertEqual(combo_box.string_list.value,
                             st.foreach(str, range(10)))

            combo_box.string_list.value = st.foreach(str, range(9))
            self.assertEqual(combo_box.string_list.value,
                             st.foreach(str, range(9)))
Esempio n. 7
0
    def test_list_widget_string_list(self):
        with quite.EventLoop(0.1):
            list_widget = quite.ListWidget()
            list_widget.show()
            executed = [False]
            string_list = st.foreach(str, range(10))

            @quite.connect_with(list_widget.string_list.changed)
            def string_list_changed(string_list_now):
                self.assertEqual(string_list, string_list_now)
                executed[0] = True

            list_widget.string_list.value = string_list
            self.assertTrue(executed[0])
Esempio n. 8
0
    def test_list_widget_row(self):
        with quite.EventLoop(0.1):
            list_widget = quite.ListWidget()
            list_widget.show()
            executed = [False]

            @quite.connect_with(list_widget.string.changed)
            def text_changed(text):
                self.assertEqual(text, '1')
                executed[0] = True

            list_widget.string_list.value = st.foreach(str, range(10))
            list_widget.index.value = 1
            self.assertTrue(executed[0])
Esempio n. 9
0
    def test_create_widget_dialog(self):
        current_path = os.path.dirname(__file__)
        ui_file_path = os.path.join(current_path, 'res',
                                    '3.widget.controller.ui')

        with quite.EventLoop(timeout=.10):
            c = quite.WidgetUiController(None, ui_file_path)
            c.show()
            self.assertTrue(isinstance(c.w, quite.Widget))

            self.assertTrue(isinstance(c.button('add'), quite.PushButton))
            self.assertTrue(isinstance(c.combo('index'), quite.ComboBox))
            self.assertTrue(isinstance(c.edit('number'), quite.LineEdit))
            self.assertTrue(isinstance(c.list('numbers'), quite.ListWidget))
Esempio n. 10
0
    def test_combo_box_string_list(self):
        with quite.EventLoop(0.1):
            combo_box = quite.ComboBox()
            combo_box.show()
            executed = [False]

            string_list = st.foreach(str, range(10))

            @quite.connect_with(combo_box.string_list.changed)
            def string_list_changed(string_list_now):
                self.assertEqual(string_list, string_list_now)
                executed[0] = True

            combo_box.string_list.value = string_list
            self.assertTrue(executed[0])
Esempio n. 11
0
    def test_push_button_text(self):
        with quite.EventLoop(0.1):
            push_button = quite.PushButton()
            push_button.show()
            times = []

            @quite.connect_with(push_button.string.changed)
            def text_changed(text):
                if len(times) == 0:
                    self.assertEqual(text, 'first')
                elif len(times) == 1:
                    self.assertEqual(text, 'second')
                times.append(len(times))

            push_button.string.value = 'first'
            push_button.string.value = 'second'
            self.assertEqual(len(times), 2)
Esempio n. 12
0
    def test_table_widget_set_text(self):
        with quite.EventLoop(0.1):
            self.table_widget.show()
            times = []

            @quite.connect_with(self.table_widget.dict.changed)
            def text_changed(table_dict):
                if len(times) == 0:
                    self.assertEqual(table_dict, {
                        '字符串': 'first',
                        '整形': '1',
                        '浮点型': '1.1'
                    })
                elif len(times) == 1:
                    self.assertEqual(table_dict, {
                        '字符串': 'second',
                        '整形': '2',
                        '浮点型': '2.2'
                    })
                elif len(times) == 2:
                    self.assertEqual(table_dict, {
                        '字符串': 'first',
                        '整形': '1',
                        '浮点型': '1.1'
                    })
                elif len(times) == 3:
                    self.assertEqual(table_dict, '')
                times.append(len(times))

            self.table_widget.dict.set_value({
                '字符串': 'first',
                '整形': 1,
                '浮点型': 1.1
            })
            self.table_widget.dict.set_value({
                '字符串': 'second',
                '整形': 2,
                '浮点型': 2.2
            })
            self.table_widget.dict.set_value({
                '字符串': 'first',
                '整形': 1,
                '浮点型': 1.1
            })
            self.assertEqual(len(times), 3)
            self.assertEqual(self.table_widget.dict_list.count, 2)
Esempio n. 13
0
    def test_line_edit_text(self):
        with quite.EventLoop(0.1):
            line_edit = quite.LineEdit()
            line_edit.show()
            times = []

            @quite.connect_with(line_edit.string.changed)
            def text_changed(text):
                if len(times) == 0:
                    self.assertEqual(text, 'first')
                elif len(times) == 1:
                    self.assertEqual(text, 'second')
                times.append(len(times))

            line_edit.string.value = 'first'
            line_edit.string.value = 'second'
            self.assertEqual(len(times), 2)
Esempio n. 14
0
    def test_plot_data(self):
        with quite.EventLoop(0.1):
            self.plot_widget = quite.PlotWidget()
            x = np.random.random(10)
            y = np.random.random(10)
            self.plot_widget.plot(x=x, y=y)
            self.assertTrue((self.plot_widget.get_data() == np.array([x, y])).all())

            new_x = np.random.random(9)
            new_y = np.random.random(9)
            self.plot_widget.plot(x=new_x, y=new_y)
            self.assertTrue((self.plot_widget.get_data() == np.array([new_x, new_y])).all())

            add_x = np.random.random(5)
            add_y = np.random.random(5)
            old_data = self.plot_widget.get_data()
            self.plot_widget.append_plot(x=add_x, y=add_y)
            new_data = self.plot_widget.get_data()
            self.assertTrue((new_data == np.array(np.append(old_data[0], add_x)), np.append(old_data[1], add_y)))
Esempio n. 15
0
    def test_push_button_triggered(self):
        with quite.EventLoop(0.10):
            push_button = quite.PushButton()
            push_button.show()
            times = []

            @quite.connect_with(push_button.excited)
            def button_clicked():
                if len(times) == 0:
                    self.assertEqual(push_button.string.value, 'first')
                elif len(times) == 1:
                    self.assertEqual(push_button.string.value, 'second')
                times.append(len(times))

            push_button.string.value = 'first'
            push_button.click()
            push_button.string.value = 'second'
            push_button.click()
            self.assertEqual(len(times), 2)
Esempio n. 16
0
    def test_table_widget_dict_list(self):
        with quite.EventLoop(0.1):
            self.table_widget.show()
            executed = [False]
            dict_list = [{
                '字符串': 'first',
                '整形': 1,
                '浮点型': 1.1
            }, {
                '字符串': 'second',
                '整形': 2,
                '浮点型': 2.2
            }]

            @quite.connect_with(self.table_widget.dict_list.changed)
            def string_list_changed(dict_list_now):
                self.assertEqual(dict_list, dict_list_now)
                executed[0] = True

            self.table_widget.dict_list.value = dict_list
            self.assertTrue(executed[0])
Esempio n. 17
0
    def test_spin_box_string_property(self):
        with quite.EventLoop(0.1):
            spin_box = quite.SpinBox()
            spin_box.show()
            times = []

            @quite.connect_with(spin_box.string.changed)
            def spin_box_integer_changed(value: str):
                if len(times) == 0:
                    self.assertEqual(value, '1')
                elif len(times) == 1:
                    self.assertEqual(value, '10')
                elif len(times) == 2:
                    self.assertEqual(value, '99')
                elif len(times) == 3:
                    self.assertEqual(value, '0')
                times.append(len(times))

            spin_box.string.value = '1'
            spin_box.string.value = '10'
            spin_box.string.value = '99'
            spin_box.string.value = '-1'
            self.assertEqual(len(times), 4)
Esempio n. 18
0
    def test_double_spin_box_integer_property(self):
        with quite.EventLoop(.10):
            double_spin_box = quite.DoubleSpinBox()
            double_spin_box.show()
            times = []

            @quite.connect_with(double_spin_box.float.changed)
            def double_spin_box_double_changed(value: float):
                if len(times) == 0:
                    self.assertEqual(value, 1.1)
                elif len(times) == 1:
                    self.assertEqual(value, 10.2)
                elif len(times) == 2:
                    self.assertEqual(value, 99.3)
                elif len(times) == 3:
                    self.assertEqual(value, 0)
                times.append(len(times))

            double_spin_box.float.value = 1.1
            double_spin_box.float.value = 10.2
            double_spin_box.float.value = 99.3
            double_spin_box.float.value = -1.4
            self.assertEqual(len(times), 4)
Esempio n. 19
0
    def test_list_widget_set_text(self):
        with quite.EventLoop(0.1):
            list_widget = quite.ListWidget()
            list_widget.show()
            times = []

            @quite.connect_with(list_widget.string.changed)
            def text_changed(string):
                if len(times) == 0:
                    self.assertEqual(string, 'first')
                elif len(times) == 1:
                    self.assertEqual(string, 'second')
                elif len(times) == 2:
                    self.assertEqual(string, 'first')
                elif len(times) == 3:
                    self.assertEqual(string, '')
                times.append(len(times))

            list_widget.string.set_value('first')
            list_widget.string.set_value('second')
            list_widget.string.set_value('first')
            self.assertEqual(len(times), 3)
            self.assertEqual(list_widget.string_list.count, 2)
Esempio n. 20
0
    def test_double_spin_box_string_property(self):
        with quite.EventLoop(0.1):
            double_spin_box = quite.DoubleSpinBox()
            double_spin_box.show()
            times = []

            @quite.connect_with(double_spin_box.string.changed)
            def double_spin_box_double_changed(value: str):
                if len(times) == 0:
                    self.assertEqual(value, '1.1')
                elif len(times) == 1:
                    self.assertEqual(value, '10.2')
                elif len(times) == 2:
                    self.assertEqual(value, '99.3')
                elif len(times) == 3:
                    self.assertEqual(value, '0.0')
                times.append(len(times))

            double_spin_box.string.value = '1.1'
            double_spin_box.string.value = '10.2'
            double_spin_box.string.value = '99.3'
            double_spin_box.string.value = '-1.4'
            self.assertEqual(len(times), 4)
Esempio n. 21
0
    def test_spin_box_integer_property(self):
        with quite.EventLoop(0.1):
            spin_box = quite.SpinBox()
            spin_box.show()
            times = []

            @quite.connect_with(spin_box.int.changed)
            def spin_box_integer_changed(value: int):
                if len(times) == 0:
                    self.assertEqual(value, 1)
                elif len(times) == 1:
                    self.assertEqual(value, 10)
                elif len(times) == 2:
                    self.assertEqual(value, 99)
                elif len(times) == 3:
                    self.assertEqual(value, 0)
                times.append(len(times))

            spin_box.int.value = 1
            spin_box.int.value = 10
            spin_box.int.value = 99
            spin_box.int.value = -1
            self.assertEqual(len(times), 4)
Esempio n. 22
0
 def test_event_loop_timeout(self):
     st.set_time_point('start')
     with quite.EventLoop(0.1):
         pass
     self.assertTrue(80 <= st.microsecond_from('start') <= 120)