#include #include #include "bench_common.hpp" #include #include using namespace RDKit; TEST_CASE("MolOps::addHs", "[molops]") { auto samples = bench_common::load_samples(); BENCHMARK("MolOps::addHs") { auto total_atoms = 0; for (auto &mol : samples) { RWMol mol_copy(mol); MolOps::addHs(mol_copy); total_atoms += mol_copy.getNumAtoms(); } return total_atoms; }; } TEST_CASE("MolOps::FindSSR", "[molops]") { auto samples = bench_common::load_samples(); BENCHMARK("MolOps::FindSSR") { auto total = 0; for (auto &mol : samples) { total += MolOps::findSSSR(mol); } return total; }; } TEST_CASE("MolOps::getMolFrags", "[molops]") { auto samples = bench_common::load_samples(); BENCHMARK("MolOps::getMolFrags") { auto total = 0; for (auto &mol : samples) { std::vector> frags; MolOps::getMolFrags(mol, frags); for (auto &frag : frags) { total += frag->getNumAtoms(); } } return total; }; }