示例#1
0
    def test_combo_box_set_text(self):
        with core.EventLoop(0.1):
            combo_box = widgets.ComboBox()
            combo_box.show()
            times = []

            @core.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_list.value = ['first', 'second']
            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.count(), 2)

            with self.assertRaises(ValueError):
                combo_box.string.value = 'third'

            combo_box.clear()
            self.assertEqual(len(times), 4)
            self.assertEqual(combo_box.count(), 0)
示例#2
0
    def test_list_widget_set_text(self):
        with core.EventLoop(0.1):
            list_widget = widgets.ListWidget()
            list_widget.show()
            times = []

            @core.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, None)
                times.append(len(times))

            list_widget.string_list.value = ['first', 'second']
            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.count(), 2)

            list_widget.clear()
            with self.assertRaises(ValueError):
                list_widget.string.set_value('first')

            list_widget.excited.emit_if_changed()
示例#3
0
    def test_combo_box_text_more_than_once(self):
        with core.EventLoop(0.1):
            combo_box = widgets.ComboBox()
            combo_box.show()

            mock_string_list_1 = ['TTL']
            mock_string_list_2 = ['LVTTL', 'LVPECL', 'LVDS', 'ECL']
            combo_box.string_list.value = mock_string_list_1
            combo_box.string_list.value = mock_string_list_2
            combo_box.string_list.value = mock_string_list_1

            self.assertEqual(combo_box.string_list.value, mock_string_list_1)
示例#4
0
    def test_combo_box_row(self):
        with core.EventLoop(0.1):
            combo_box = widgets.ComboBox()
            combo_box.show()

            mock_string_list = ['0', '3', '2', '6']
            combo_box.string_list.value = mock_string_list
            self.assertEqual(combo_box.string_list.value, mock_string_list)

            mock_string_list.pop(-1)
            combo_box.string_list.value = mock_string_list
            self.assertEqual(combo_box.string_list.value, mock_string_list)
            self.assertEqual(combo_box.count(), len(mock_string_list))
示例#5
0
    def test_list_widget_row(self):
        with core.EventLoop(0.1):
            list_widget = widgets.ListWidget()
            list_widget.show()
            executed = [False]

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

            list_widget.string_list.value = [str(i) for i in range(10)]
            list_widget.index.value = 1
            self.assertTrue(executed[0])
示例#6
0
    def test_list_widget_string_list(self):
        with core.EventLoop(0.1):
            list_widget = widgets.ListWidget()
            list_widget.show()
            executed = [False]
            string_list = ['0', '3']

            @core.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])
示例#7
0
    def test_header_labels_changed(self):
        with core.EventLoop(0.1):
            changed_times = []
            executed = [False]

            @core.connect_with(self.table_widget.header_labels_changed)
            def header_labels_changed(head_labels):
                executed[0] = True
                if len(changed_times) == 0:
                    self.assertEqual(head_labels, mock_labels)
                changed_times.append(len(changed_times))

            mock_labels = ['a', 'b', 'c']
            self.table_widget.header_labels = mock_labels
            self.assertTrue(executed[0])
示例#8
0
    def test_combo_box_string_list(self):
        with core.EventLoop(0.1):
            combo_box = widgets.ComboBox()
            combo_box.show()
            executed = [False]

            mock_string_list = ['0', '3', '2', '6']

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

            combo_box.string_list.value = mock_string_list
            self.assertTrue(executed[0])
示例#9
0
    def test_table_widget_row(self):
        with core.EventLoop(0.1):
            self.table_widget.show()
            executed = [False]

            @core.connect_with(self.table_widget.index.changed)
            def text_changed(index):
                self.assertEqual(index, self.table_widget.currentRow())
                executed[0] = True

            set_value = ['first', 1, 1.1]
            for i in range(10):
                self.table_widget.string_list.value = set_value
                self.assertEqual(self.table_widget.index.value,
                                 self.table_widget.currentRow())
            self.table_widget.index.value = 2
            self.assertTrue(executed[0])
示例#10
0
    def test_line_edit_text(self):
        with core.EventLoop(0.1):
            line_edit = widgets.LineEdit()
            line_edit.show()
            times = []

            @core.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)
示例#11
0
    def test_get_string_list_by_index(self):
        with core.EventLoop(0.1):
            mock_value_one = ['first', 1, 1.1]
            mock_value_two = ['second', 2, 2.2]
            self.table_widget.string_list.value = mock_value_one
            self.table_widget.string_list.value = mock_value_two
            self.assertEqual(
                self.table_widget.get_string_list_by_index(
                    self.table_widget.index.value),
                [str(value) for value in mock_value_two])
            self.table_widget.index.value = 0
            self.assertEqual(
                self.table_widget.get_string_list_by_index(
                    self.table_widget.index.value),
                [str(value) for value in mock_value_one])
            self.assertEqual(self.table_widget.get_string_list_by_index(-1),
                             [])

            with self.assertRaises(ValueError):
                self.table_widget.get_string_list_by_index(2)
示例#12
0
    def test_row_changed_signal_emitted(self):
        with core.EventLoop(0.1):
            executed = [False]
            changed_times = []

            @connect_with(self.table_widget.string_list.changed)
            def test_signal_emitted(string_list_value):
                executed[0] = True
                if len(changed_times) == 0:
                    self.assertEqual(
                        self.table_widget.string_list.value,
                        [str(value) for value in string_list_value])
                elif len(changed_times) == 1:
                    self.assertEqual(
                        self.table_widget.string_list.value,
                        [str(value) for value in string_list_value])
                changed_times.append(len(changed_times))

            self.table_widget.string_list.value = self.set_value_one
            self.table_widget.string_list.value = self.set_value_two
            self.assertTrue(executed[0])
示例#13
0
    def test_date_edit_text(self):
        with core.EventLoop(0.1):
            date_edit = widgets.DateEdit()
            date_edit.setDisplayFormat('yyyy-MM-dd')
            date_edit.show()
            times = []

            @core.connect_with(date_edit.string.changed)
            def text_changed(text):
                if len(times) == 0:
                    self.assertEqual(text, '2019-08-08')
                elif len(times) == 1:
                    self.assertEqual(text, '2020-08-08')
                times.append(len(times))

            date_edit.string.value = '2019-08-08'
            date_edit.string.value = '2020-08-08'
            self.assertEqual(len(times), 2)

            with self.assertRaises(ValueError):
                date_edit.string.value = '2019-08-08-11'
示例#14
0
    def test_double_spin_box_integer_property(self):
        with core.EventLoop(.10):
            double_spin_box = widgets.DoubleSpinBox()
            double_spin_box.show()
            times = []

            @core.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)
示例#15
0
    def test_double_spin_box_string_property(self):
        with core.EventLoop(0.1):
            double_spin_box = widgets.DoubleSpinBox()
            double_spin_box.show()
            times = []

            @core.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)
示例#16
0
    def test_spin_box_string_property(self):
        with core.EventLoop(0.1):
            spin_box = widgets.SpinBox()
            spin_box.show()
            times = []

            @core.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)
示例#17
0
    def test_spin_box_integer_property(self):
        with core.EventLoop(0.1):
            spin_box = widgets.SpinBox()
            spin_box.show()
            times = []

            @core.connect_with(spin_box.integer.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.integer.value = 1
            spin_box.integer.value = 10
            spin_box.integer.value = 99
            spin_box.integer.value = -1
            self.assertEqual(len(times), 4)
示例#18
0
 def test_table_widget_set_header(self):
     with core.EventLoop(0.1):
         self.assertEqual(self.table_widget.header_labels,
                          self.header_labels)
         header_labels2 = ['first', 'second', 'third', 'fourth']
         self.table_widget.header_labels = header_labels2
示例#19
0
 def test_set_table_widget_string_list_value(self):
     with core.EventLoop(0.1):
         string_list_value = ['1', 2, 3.0]
         self.table_widget.string_list.value = string_list_value
         self.assertEqual(self.table_widget.string_list.value,
                          [str(value) for value in string_list_value])