Esempio n. 1
0
    def test_insert_row_at_multiple_beyond(self):
        model = TableModel()

        expected = [RowEntries(sample_scatter=i) for i in range(2)]
        model.replace_table_entry(row_index=0, row_entry=expected[0])

        self.assertTrue(1, model.get_number_of_rows())

        model.insert_row_at(4, expected[1])

        # Remember that the number of rows is counted from 1, but we use 0 based indexing
        self.assertTrue(5, model.get_number_of_rows())
        self.assertEqual(expected, model.get_multiple_rows([0, 4]))
        self.assertTrue(
            all(i.is_empty() for i in model.get_multiple_rows([1, 2, 3])))
Esempio n. 2
0
    def test_cut_paste_sorts_order(self):
        # Qt can give is the order a user selected rows in, ensure it's always in the natural order
        table_model = TableModel()
        for entry_i in range(5):
            table_model.append_table_entry(
                RowEntries(sample_transmission=entry_i))

        input_rows = [4, 0, 2]
        expected_rows = table_model.get_multiple_rows(sorted(input_rows))

        table_model.cut_rows(input_rows)
        table_model.paste_rows([])

        for i, row in enumerate(expected_rows):
            # 5 original rows - 3 cut rows = 2 rows remaining
            self.assertEqual(row, table_model.get_row(i + 2))
Esempio n. 3
0
    def test_copy_paste_append_mixed_selection_onto_mixed_selection(self):
        table_model = TableModel()
        num_elements = 5
        for entry_i in range(num_elements):
            table_model.append_table_entry(
                RowEntries(sample_transmission=entry_i))

        copied_indices = [0, 1, 3, 4]
        copied_rows = table_model.get_multiple_rows(copied_indices)

        table_model.copy_rows(copied_indices)
        table_model.paste_rows([0, 2, 3])

        self.assertEqual(num_elements, table_model.get_number_of_rows())
        for paste_index, original_items in enumerate(copied_rows):
            self.assertEqual(original_items, table_model.get_row(paste_index))
Esempio n. 4
0
 def test_get_multiple_rows(self):
     row_1, row_2 = RowEntries(), RowEntries()
     instance = TableModel()
     instance.add_multiple_table_entries([row_1, row_2])
     self.assertEqual([row_1, row_2], instance.get_multiple_rows([0, 1]))