def test_gene_deletion(self): receiver = MockSlot() gene = Gene("Test id") self.widget.changed.connect(receiver.slot) self.reaction.add_child(gene) self.widget.set_item(self.reaction, self.model) # Check prior state assert len(self.widget.cached_actions) == 0 assert self.widget.geneTable.rowCount() == 1 assert gene in self.reaction._children # Action self.widget.geneView.setCurrentIndex( self.widget.geneTable.item(0).index()) self.widget.delete_item() # Check emission of the changed signal assert receiver.called is True assert receiver.last_caller is self.widget # Check cached actions assert len(self.widget.cached_actions) == 1 action = self.widget.cached_actions[0] assert action[0] is self.reaction assert action[1] == "deletion" assert action[2] is gene # Check the table item assert self.widget.geneTable.rowCount() == 0 # Check that child is still present assert gene in self.reaction._children
def test_add_genegroup(self): receiver = MockSlot() self.widget.changed.connect(receiver.slot) self.widget.set_item(self.reaction, self.model) # Check prior state assert len(self.widget.cached_actions) == 0 assert self.widget.geneTable.rowCount() == 0 assert len(self.reaction._children) == 0 # Action self.widget.add_genegroup() # Check emission of the changed signal assert receiver.called is True assert receiver.last_caller is self.widget # Check cached actions assert len(self.widget.cached_actions) == 1 action = self.widget.cached_actions[0] assert action[0] is self.reaction assert action[1] == "addition" assert isinstance(action[2], GeneGroup) # Check the table item assert self.widget.geneTable.rowCount() == 1 assert isinstance(self.widget.geneTable.item(0, 0).link, GeneGroup) # Check that no children has been added assert len(self.reaction._children) == 0
def test_changed_emission_upon_typing(self): self.widget.set_item(self.reaction) detector = MockSlot() self.widget.changed.connect(detector.slot) assert detector.called is False assert detector.last_caller is None QtTest.QTest.keyClicks(self.widget.commentInput, "Test") assert detector.called is True assert detector.last_caller is self.widget
def test_delete_annotation(self): receiver = MockSlot() self.widget.set_item(self.annotated_reaction, self.model) self.widget.changed.connect(receiver.slot) assert receiver.called is False assert receiver.last_caller is None self.widget.dataTable.setRowCount(0) assert receiver.called is True assert receiver.last_caller is self.widget
def test_change_identifier(self): receiver = MockSlot() self.widget.set_item(self.annotated_reaction, self.model) self.widget.changed.connect(receiver.slot) assert receiver.called is False assert receiver.last_caller is None self.widget.dataTable.item(0, 1).setText("CHEBI:55555") assert receiver.called is True assert receiver.last_caller is self.widget
def test_setting_empty_reaction(self): receiver = MockSlot() self.widget.changed.connect(receiver.slot) assert receiver.called is False assert receiver.last_caller is None self.widget.set_item(self.empty_reaction, self.model) assert self.widget.dataTable.rowCount() == 0 assert receiver.called is True
def test_add_annotation(self): receiver = MockSlot() self.widget.set_item(self.annotated_reaction, self.model) self.widget.changed.connect(receiver.slot) assert receiver.called is False assert receiver.last_caller is None new_annotation = Annotation("kegg", "C91233") self.widget.dataTable.update_row_from_item(new_annotation) assert receiver.called is True assert receiver.last_caller is self.widget
def test_changed(self): self.widget.set_item(self.reaction, self.model) receiver = MockSlot() self.widget.changed.connect(receiver.slot) assert self.widget.content_changed is False self.widget.dataTable.item(0, 1).setData(12., 2) assert self.widget.dataTable.item(0, 1).data(2) == 12. assert self.widget.content_changed is True assert receiver.called is True assert receiver.last_caller is self.widget
def test_setting_reaction_with_annotation(self): receiver = MockSlot() self.widget.changed.connect(receiver.slot) self.widget.set_item(self.annotated_reaction, self.model) assert self.widget.dataTable.rowCount() == 1 assert self.widget.dataTable.item( 0, 0).text() == self.annotation.collection assert self.widget.dataTable.item( 0, 1).text() == self.annotation.identifier assert receiver.called is True assert self.widget.content_changed is False
def test_changed2(self): self.widget.set_item(self.reaction, self.model) new_metabolite = Metabolite("test_2") new_stoich = 0. receiver = MockSlot() self.widget.changed.connect(receiver.slot) self.widget.dataTable.update_row_from_item( (new_metabolite, new_stoich)) assert self.widget.content_changed is True assert self.widget.dataTable.item(1, 0).text() == new_metabolite.id assert self.widget.dataTable.item(1, 0).link is new_metabolite assert self.widget.dataTable.item(1, 1).data(2) == new_stoich assert self.widget.dataTable.item(1, 1).link is new_metabolite assert receiver.called is True assert receiver.last_caller is self.widget