diff --git a/core/indigo-core/tests/tests/formats.cpp b/core/indigo-core/tests/tests/formats.cpp index c75a57a246..1fe720aa18 100644 --- a/core/indigo-core/tests/tests/formats.cpp +++ b/core/indigo-core/tests/tests/formats.cpp @@ -47,12 +47,10 @@ #include #include #include -#include #include "common.h" #include -#include using namespace indigo; @@ -569,19 +567,26 @@ TEST_F(IndigoCoreFormatsTest, wrong_stereochemistry_2739) ReactionCdxmlLoader loader(scanner); loader.loadReaction(reaction); - Array out; - ArrayOutput stdOut(out); - ReactionCdxmlSaver saver(stdOut); - saver.saveReaction(reaction); - std::string outCDXML{out.ptr(), static_cast(out.size())}; - - std::ifstream file(dataPath("reactions/basic/wrong_stereochemistry_2739.cdxml")); - std::stringstream stringStream; - stringStream << file.rdbuf(); - std::string originalCDXML = stringStream.str(); - file.close(); - - ASSERT_EQ(originalCDXML, outCDXML); + std::vector> testData = {{1, 1}, {1, 2}, {2, 1}}; + + std::vector> bondDirections; + for (int i = reaction.begin(); i != reaction.end(); i = reaction.next(i)) { + const Molecule& mol = reaction.getMolecule(i); + int bondUp = 0; + int bondDown = 0; + for (int j = mol.edgeBegin(); j != mol.edgeEnd(); j = mol.edgeNext(j)) + { + int direction = mol.getBondDirection(j); + if (direction == BOND_UP) { + ++bondUp; + } else if (direction == BOND_DOWN) { + ++bondDown; + } + } + bondDirections.push_back({bondUp, bondDown}); + } + + ASSERT_EQ(testData, bondDirections); } #ifdef _MSC_VER