def test_template_occurence_scorer_tree_one_node(): rt = ReactionTree() rt.root = Molecule(smiles="CCCCOc1ccc(CC(=O)N(C)O)cc1") rt.graph.add_node(rt.root) scorer = AverageTemplateOccurenceScorer() assert scorer(rt) == 0.0
def test_scorers_tree_one_node_route(default_config): tree = ReactionTree() tree.root = Molecule(smiles="CCCCOc1ccc(CC(=O)N(C)O)cc1") tree.graph.add_node(tree.root) assert pytest.approx(StateScorer(default_config)(tree), abs=1e-3) == 0.0497 assert NumberOfReactionsScorer(default_config)(tree) == 0 assert NumberOfPrecursorsScorer(default_config)(tree) == 1 assert NumberOfPrecursorsInStockScorer(default_config)(tree) == 0 assert PriceSumScorer(default_config)(tree) == 10 assert RouteCostScorer(default_config)(tree) == 10
def test_create_wrapper_no_reaction(): tree = ReactionTree() mol = Molecule(smiles="CCC") tree.graph.add_node(mol) tree.root = mol wrapper = ReactionTreeWrapper(tree) assert wrapper.info["tree count"] == 1 assert wrapper.info["root"] is mol assert len(wrapper.trees) == 1 wrapper = ReactionTreeWrapper(tree, TreeContent.REACTIONS) assert wrapper.info["tree count"] == 0 assert wrapper.info["root"] is None assert len(wrapper.trees) == 0 wrapper = ReactionTreeWrapper(tree, TreeContent.BOTH) assert wrapper.info["tree count"] == 1 assert wrapper.info["root"] is mol assert len(wrapper.trees) == 1