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)
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()
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)
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))
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])
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])
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])
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])
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])
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)
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)
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])
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'
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)
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)
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)
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)
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
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])