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()
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()
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()
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"]
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()
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()
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": {}})
def test_add_scorer_to_collection_no_scorer(default_config): collection = ScorerCollection(default_config) with pytest.raises(ScorerException): collection.load(Molecule(smiles="CCC"))
def test_delete_scorer_to_collection(default_config): collection = ScorerCollection(default_config) del collection["state score"] assert "state score" not in collection.names()