Skip to content

Commit

Permalink
add OBDetails unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
dweber2022 committed Jul 9, 2024
1 parent 4d24f47 commit 3905346
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions src/test/obdetailstest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,33 @@

#include "obdetails.h"

namespace OBDetailsTest {
constexpr int numElements{118};
constexpr int numNonMetals{23};
constexpr std::array<int, numNonMetals> nonMetalAtomicNums{1, 2, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 32, 33, 34, 35, 36, 52, 53, 54, 85, 86};
}

using namespace OBDetailsTest;

TEST(IsMetalTest, HandlesMetal) {
int idx{0};
OpenBabel::OBAtom metalAtom{};
for (std::size_t atomicNum{1}; atomicNum <= numElements; ++atomicNum) {
if ((idx < numNonMetals) && (atomicNum == nonMetalAtomicNums[idx]))
++idx;
else {
metalAtom.SetAtomicNum(atomicNum);
const OpenBabel::OBAtom metalAtom2{metalAtom};
EXPECT_TRUE(OpenBabel::isMetal(&metalAtom2));
}
}
}

TEST(IsMetalTest, HandlesNonMetal) {
constexpr int numNonMetals{23};
constexpr std::array<int, numNonMetals> nonMetalAtomicNums{1, 2, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 32, 33, 34, 35, 36, 52, 53, 54, 85, 86};
OpenBabel::OBAtom nonMetalAtom{};
for (int atomicNum : nonMetalAtomicNums) {
nonMetalAtom.SetAtomicNum(atomicNum);
const OpenBabel::OBAtom nonMetalAtom2{nonMetalAtom};
const OpenBabel::OBAtom* nonMetalAtomPtr{&nonMetalAtom2};
EXPECT_FALSE(OpenBabel::isMetal(nonMetalAtomPtr));
EXPECT_FALSE(OpenBabel::isMetal(&nonMetalAtom2));
}
}

0 comments on commit 3905346

Please sign in to comment.