def test_save_state_existing_metabolite(self):
        metabolite = Metabolite(id="m1",
                                charge=1,
                                name="old name",
                                formula="O2",
                                compartment="c")
        model = Model()
        model.gem_add_metabolites((metabolite, ))
        widget = MetaboliteAttributesDisplayWidget()
        widget.set_item(metabolite, model)

        new_id = "New_id"
        new_name = "New name"
        new_charge = 3.
        new_compartment = "m"
        new_formula = "H2O"

        widget.iDLineEdit.setText(new_id)
        widget.nameLineEdit.setText(new_name)
        widget.chargeSpinBox.setValue(new_charge)
        widget.compartmentComboBox.addItem(new_compartment)
        widget.compartmentComboBox.setCurrentIndex(
            widget.compartmentComboBox.count() - 1)
        widget.formulaLineEdit.setText(new_formula)

        widget.save_state()

        assert metabolite.id == new_id
        assert metabolite.name == new_name
        assert metabolite.charge == new_charge
        assert metabolite.compartment == new_compartment
        assert metabolite.formula == new_formula
        assert model.metabolites.has_id(new_id)
Beispiel #2
0
    def test_add_metabolites(self):
        model = Model()
        metabolite = Metabolite("m1", compartment="c")
        model.gem_add_metabolites((metabolite,))

        assert metabolite in model.metabolites
        assert metabolite in model.QtMetaboliteTable.get_items()
        assert "c" in model.gem_compartments