Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
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
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
    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
Ejemplo n.º 6
0
    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
Ejemplo n.º 7
0
    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
Ejemplo n.º 8
0
    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
Ejemplo n.º 9
0
    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
Ejemplo n.º 10
0
    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