Ejemplo n.º 1
0
def test_load_scorer_to_collection_full_package(default_config):
    collection = ScorerCollection(default_config)
    del collection["state score"]

    collection.load_from_config(**{"aizynthfinder.context.scoring.StateScorer": {}})

    assert "state score" in collection.names()
Ejemplo n.º 2
0
def test_load_scorer_to_collection_only_class(default_config):
    collection = ScorerCollection(default_config)
    del collection["state score"]

    collection.load_from_config(**{"StateScorer": {}})

    assert "state score" in collection.names()
Ejemplo n.º 3
0
def test_add_scorer_to_collection(default_config):
    collection = ScorerCollection(default_config)
    del collection["state score"]

    collection.load(StateScorer(default_config))

    assert "state score" in collection.names()
Ejemplo n.º 4
0
def test_create_scorer_collection(default_config):
    collection = ScorerCollection(default_config)

    assert len(collection) == 5

    assert "state score" in collection.names()
    assert "number of reactions" in collection.names()

    assert isinstance(collection["state score"], StateScorer)

    with pytest.raises(KeyError):
        collection["dummy"]
Ejemplo n.º 5
0
 def __post_init__(self) -> None:
     self._properties: StrDict = {}
     self.stock = Stock()
     self.expansion_policy = ExpansionPolicy(self)
     self.filter_policy = FilterPolicy(self)
     self.scorers = ScorerCollection(self)
     self.molecule_cost = MoleculeCost()
     self._logger = logger()
Ejemplo n.º 6
0
    def __post_init__(self) -> None:
        self._properties: StrDict = {}
        filename = os.path.join(data_path(), "config.yml")
        with open(filename, "r") as fileobj:
            _config = yaml.load(fileobj.read(), Loader=yaml.SafeLoader)
        self._update_from_config(_config)

        self.stock = Stock()
        self.expansion_policy = ExpansionPolicy(self)
        self.filter_policy = FilterPolicy(self)
        self.scorers = ScorerCollection(self)
        self._logger = logger()
Ejemplo n.º 7
0
def test_load_scorer_to_collection_failures(default_config):
    collection = ScorerCollection(default_config)

    with pytest.raises(ScorerException, match=".*load module.*"):
        collection.load_from_config(**{"mypackage.scoring.StateScorer": {}})

    with pytest.raises(ScorerException, match=".*class.*"):
        collection.load_from_config(**{"aizynthfinder.context.scoring.NoScorer": {}})
Ejemplo n.º 8
0
def test_add_scorer_to_collection_no_scorer(default_config):
    collection = ScorerCollection(default_config)

    with pytest.raises(ScorerException):
        collection.load(Molecule(smiles="CCC"))
Ejemplo n.º 9
0
def test_delete_scorer_to_collection(default_config):
    collection = ScorerCollection(default_config)

    del collection["state score"]

    assert "state score" not in collection.names()