Files
rdkit/Code/GraphMol/catch_periodictable.cpp
Paolo Tosco 14ccb65731 Add missing GetRow method and fix Python parameter names (#7575)
* add missing GetRow method and fix Python parameter names

* - return type of getRow() should be unsigned int, not double, since atomicData.Row() returns unsigned int
- added missing overloads

* fix compilation error in test

---------

Co-authored-by: ptosco <paolo.tosco@novartis.com>
2024-06-28 12:47:34 +02:00

36 lines
1.1 KiB
C++

//
// Copyright (C) 2024 Greg Landrum and other RDKit contributors
//
// @@ All Rights Reserved @@
// This file is part of the RDKit.
// The contents are covered by the terms of the BSD license
// which is included in the file license.txt, found at the root
// of the RDKit source tree.
//
#include <catch2/catch_all.hpp>
#include <GraphMol/RDKitBase.h>
using namespace RDKit;
TEST_CASE(
"Github #7162: Unexpected exact mass values are returned for radium and radon") {
SECTION("radium") {
CHECK(PeriodicTable::getTable()->getMostCommonIsotope(88) == 226);
CHECK(PeriodicTable::getTable()->getMassForIsotope(88, 226) ==
Catch::Approx(226.02540).epsilon(1e-4));
}
SECTION("radon") {
CHECK(PeriodicTable::getTable()->getMostCommonIsotope(86) == 222);
CHECK(PeriodicTable::getTable()->getMassForIsotope(86, 222) ==
Catch::Approx(222.01757).epsilon(1e-4));
}
}
TEST_CASE("periodic table row") {
CHECK(PeriodicTable::getTable()->getRow(0U) == 0);
CHECK(PeriodicTable::getTable()->getRow(1) == 1);
CHECK(PeriodicTable::getTable()->getRow(92) == 7);
}