int main(int argc,char **argv) { // Create a test molecule OpenBabel::OBMol mol; OpenBabel::OBAtom* a[5]; a[0] = mol.NewAtom(); a[0]->SetAtomicNum(6); a[0]->SetVector(-0.013, 1.086, 0.008); a[1] = mol.NewAtom(); a[1]->SetAtomicNum(1); a[1]->SetVector( 0.002, -0.004, 0.002); a[2] = mol.NewAtom(); a[2]->SetAtomicNum(9); a[2]->SetVector( 1.300, 1.570, -0.002); a[3] = mol.NewAtom(); a[3]->SetAtomicNum(35); a[3]->SetVector(-0.964, 1.737, -1.585); a[4] = mol.NewAtom(); a[4]->SetAtomicNum(17); a[4]->SetVector(-0.857, 1.667, 1.491); OpenBabel::OBBond* b; for (int i(1); i < 5; ++i) { b = mol.NewBond(); b->SetBegin(a[0]); b->SetEnd(a[i]); b->SetBondOrder(1); } // Run the tests test01(&mol); test02(&mol); test03(&mol); test04(&mol); test05(&mol); test06(&mol); test07(&mol); test08(&mol); test09(&mol); // End return 0; }
int spectrophoretest(int argc, char* argv[]) { int defaultchoice = 1; int choice = defaultchoice; if (argc > 1) { if(sscanf(argv[1], "%d", &choice) != 1) { printf("Couldn't parse that input as a number\n"); return -1; } } // Create a test molecule OpenBabel::OBMol mol; OpenBabel::OBAtom* a[5]; a[0] = mol.NewAtom(); a[0]->SetAtomicNum(6); a[0]->SetVector(-0.013, 1.086, 0.008); a[1] = mol.NewAtom(); a[1]->SetAtomicNum(1); a[1]->SetVector( 0.002, -0.004, 0.002); a[2] = mol.NewAtom(); a[2]->SetAtomicNum(9); a[2]->SetVector( 1.300, 1.570, -0.002); a[3] = mol.NewAtom(); a[3]->SetAtomicNum(35); a[3]->SetVector(-0.964, 1.737, -1.585); a[4] = mol.NewAtom(); a[4]->SetAtomicNum(17); a[4]->SetVector(-0.857, 1.667, 1.491); OpenBabel::OBBond* b; for (int i(1); i < 5; ++i) { b = mol.NewBond(); b->SetBegin(a[0]); b->SetEnd(a[i]); b->SetBondOrder(1); } switch(choice) { case 1: test01(&mol); test02(&mol); break; case 2: test03(&mol); test04(&mol); break; case 3: test05(&mol); test06(&mol); break; case 4: test07(&mol); test08(&mol); break; case 5: test09(&mol); break; default: std::cout << "Test number " << choice << " does not exist!\n"; return -1; } return 0; }