1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#include "obtest.h"
#include <openbabel/obconversion.h>
using namespace std;
using namespace OpenBabel;
typedef vector<vector3> vv3;
void testLossOfHydrogen(string filename)
{
string testfile = OBTestUtil::GetFilename(filename);
ifstream ifs(testfile.c_str());
OBConversion conv(&ifs);
OB_REQUIRE(conv.SetInFormat("sdf"));
OBMol mol;
OB_REQUIRE(conv.Read(&mol));
bool success = true;
int i = 0;
while (success) {
unsigned int Natoms = mol.NumAtoms();
mol.DeleteHydrogens();
mol.AddHydrogens();
unsigned int newNatoms = mol.NumAtoms();
cout << "Mol#" << i << ", Title " << mol.GetTitle() << ", Original atoms vs New atoms: ";
cout << Natoms << " vs " << newNatoms << "\n";
OB_ASSERT( Natoms == newNatoms);
cout << "\n";
success = conv.Read(&mol);
i += 1;
}
}
int implicitHtest(int argc, char* argv[])
{
// Define location of file formats for testing
#ifdef FORMATDIR
char env[BUFF_SIZE];
snprintf(env, BUFF_SIZE, "BABEL_LIBDIR=%s", FORMATDIR);
putenv(env);
#endif
testLossOfHydrogen("implicitH.sdf");
return 0;
}
|