mirror of
https://git.gfz-potsdam.de/naaice/iphreeqc.git
synced 2025-12-16 16:44:49 +01:00
all passing on windows
git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/branches/ErrorHandling@5886 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
parent
f5733f7403
commit
b6ddcdabc4
@ -20,21 +20,6 @@ const char ERROR_FILENAME[] = "phreeqc.err";
|
|||||||
const char LOG_FILENAME[] = "phreeqc.log";
|
const char LOG_FILENAME[] = "phreeqc.log";
|
||||||
const char PUNCH_FILENAME[] = "selected.out";
|
const char PUNCH_FILENAME[] = "selected.out";
|
||||||
|
|
||||||
int istream_getc(void *cookie)
|
|
||||||
{
|
|
||||||
if (cookie)
|
|
||||||
{
|
|
||||||
std::istream* is = (std::istream*)cookie;
|
|
||||||
int n = is->get();
|
|
||||||
if (n == 13 && is->peek() == 10)
|
|
||||||
{
|
|
||||||
n = is->get();
|
|
||||||
}
|
|
||||||
return n;
|
|
||||||
}
|
|
||||||
return EOF;
|
|
||||||
}
|
|
||||||
|
|
||||||
IPhreeqc::IPhreeqc(void)
|
IPhreeqc::IPhreeqc(void)
|
||||||
: DatabaseLoaded(false)
|
: DatabaseLoaded(false)
|
||||||
, ClearAccumulated(false)
|
, ClearAccumulated(false)
|
||||||
|
|||||||
@ -12,8 +12,8 @@ class TestIPhreeqc : public CppUnit::TestFixture
|
|||||||
CPPUNIT_TEST( TestLoadDatabaseMissingFile );
|
CPPUNIT_TEST( TestLoadDatabaseMissingFile );
|
||||||
CPPUNIT_TEST( TestLoadDatabaseWithErrors );
|
CPPUNIT_TEST( TestLoadDatabaseWithErrors );
|
||||||
CPPUNIT_TEST( TestRunAccumulated );
|
CPPUNIT_TEST( TestRunAccumulated );
|
||||||
// COMMENT: {12/12/2011 2:46:08 PM} CPPUNIT_TEST( TestRunWithErrors );
|
CPPUNIT_TEST( TestRunWithErrors );
|
||||||
// COMMENT: {12/12/2011 2:46:23 PM} CPPUNIT_TEST( TestRunFile );
|
CPPUNIT_TEST( TestRunFile );
|
||||||
CPPUNIT_TEST( TestRunString );
|
CPPUNIT_TEST( TestRunString );
|
||||||
CPPUNIT_TEST( TestGetSelectedOutputRowCount );
|
CPPUNIT_TEST( TestGetSelectedOutputRowCount );
|
||||||
CPPUNIT_TEST( TestGetSelectedOutputValue );
|
CPPUNIT_TEST( TestGetSelectedOutputValue );
|
||||||
@ -45,8 +45,6 @@ public:
|
|||||||
TestIPhreeqc(void);
|
TestIPhreeqc(void);
|
||||||
~TestIPhreeqc(void);
|
~TestIPhreeqc(void);
|
||||||
|
|
||||||
// COMMENT: {3/30/2010 3:27:03 PM} static bool FileExists(const char *szPathName);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void TestLoadDatabase(void);
|
void TestLoadDatabase(void);
|
||||||
void TestLoadDatabaseString(void);
|
void TestLoadDatabaseString(void);
|
||||||
|
|||||||
@ -2245,23 +2245,27 @@ void TestIPhreeqcLib::TestClearAccumulatedLines(void)
|
|||||||
|
|
||||||
CPPUNIT_ASSERT_EQUAL(0, ::LoadDatabase(id, "../database/wateq4f.dat"));
|
CPPUNIT_ASSERT_EQUAL(0, ::LoadDatabase(id, "../database/wateq4f.dat"));
|
||||||
|
|
||||||
|
// phreeqc can now handle pH of -2 (-r5885)
|
||||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "SOLUTION 1"));
|
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "SOLUTION 1"));
|
||||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "pH -2") );
|
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, " pH 7"));
|
||||||
|
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, " Na 1"));
|
||||||
|
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "PHASES"));
|
||||||
|
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, " Fix_H+"));
|
||||||
|
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, " H+ = H+"));
|
||||||
|
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, " log_k 0"));
|
||||||
|
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "EQUILIBRIUM_PHASES"));
|
||||||
|
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, " Fix_H+ -10 HCl 10"));
|
||||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "END"));
|
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "END"));
|
||||||
|
|
||||||
CPPUNIT_ASSERT_EQUAL(1, ::RunAccumulated(id));
|
CPPUNIT_ASSERT_EQUAL(1, ::RunAccumulated(id));
|
||||||
|
|
||||||
CPPUNIT_ASSERT_EQUAL( 3, ::GetErrorStringLineCount(id) );
|
CPPUNIT_ASSERT_EQUAL(1, ::GetErrorStringLineCount(id));
|
||||||
|
|
||||||
#if defined(_MSC_VER)
|
const char expected[] =
|
||||||
CPPUNIT_ASSERT_EQUAL( std::string("ERROR: A(H2O) Activity of water has not converged. Residual: 1.590343e+000"), std::string(::GetErrorStringLine(id, 0)) );
|
"ERROR: Numerical method failed on all combinations of convergence parameters\n";
|
||||||
#endif
|
const char* err = ::GetErrorString(id);
|
||||||
#if defined(__GNUC__)
|
|
||||||
CPPUNIT_ASSERT_EQUAL( std::string("ERROR: A(H2O) Activity of water has not converged. Residual: 1.590343e+00"), std::string(::GetErrorStringLine(id, 0)) );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CPPUNIT_ASSERT_EQUAL( std::string(""), std::string(::GetErrorStringLine(id, 1)) );
|
CPPUNIT_ASSERT_EQUAL( std::string(expected), std::string(err) );
|
||||||
CPPUNIT_ASSERT_EQUAL( std::string("ERROR: Model failed to converge for initial solution."), std::string(::GetErrorStringLine(id, 2)) );
|
|
||||||
|
|
||||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "SOLUTION 1"));
|
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "SOLUTION 1"));
|
||||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "pH 2") );
|
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "pH 2") );
|
||||||
|
|||||||
@ -14,8 +14,8 @@ class TestIPhreeqcLib : public CppUnit::TestFixture
|
|||||||
CPPUNIT_TEST( TestLoadDatabaseMissingFile );
|
CPPUNIT_TEST( TestLoadDatabaseMissingFile );
|
||||||
CPPUNIT_TEST( TestLoadDatabaseWithErrors );
|
CPPUNIT_TEST( TestLoadDatabaseWithErrors );
|
||||||
CPPUNIT_TEST( TestRunAccumulated );
|
CPPUNIT_TEST( TestRunAccumulated );
|
||||||
// COMMENT: {12/12/2011 2:46:47 PM} CPPUNIT_TEST( TestRunWithErrors );
|
CPPUNIT_TEST( TestRunWithErrors );
|
||||||
// COMMENT: {12/12/2011 2:46:59 PM} CPPUNIT_TEST( TestRunFile );
|
CPPUNIT_TEST( TestRunFile );
|
||||||
CPPUNIT_TEST( TestRunString );
|
CPPUNIT_TEST( TestRunString );
|
||||||
CPPUNIT_TEST( TestGetSelectedOutputRowCount );
|
CPPUNIT_TEST( TestGetSelectedOutputRowCount );
|
||||||
CPPUNIT_TEST( TestGetSelectedOutputValue );
|
CPPUNIT_TEST( TestGetSelectedOutputValue );
|
||||||
@ -45,7 +45,7 @@ class TestIPhreeqcLib : public CppUnit::TestFixture
|
|||||||
CPPUNIT_TEST( TestLogFileOn ); // new
|
CPPUNIT_TEST( TestLogFileOn ); // new
|
||||||
CPPUNIT_TEST( TestGetWarningStringLine );
|
CPPUNIT_TEST( TestGetWarningStringLine );
|
||||||
CPPUNIT_TEST( TestPitzer );
|
CPPUNIT_TEST( TestPitzer );
|
||||||
// COMMENT: {12/12/2011 2:47:15 PM} CPPUNIT_TEST( TestClearAccumulatedLines );
|
CPPUNIT_TEST( TestClearAccumulatedLines );
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user