mirror of
https://git.gfz-potsdam.de/naaice/iphreeqc.git
synced 2025-12-15 16:18:22 +01:00
added test for BASIC SURF
git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@7165 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
parent
cc6d0c2a45
commit
594d832aa3
@ -3180,55 +3180,59 @@ void TestIPhreeqc::TestLongUser_Punch(void)
|
||||
std::ostringstream oss;
|
||||
PHRQ_io::fpunchf_helper(&oss, "%2046.2046s", "TEST");
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)2046, oss.str().size());
|
||||
std::string s0(oss.str());
|
||||
std::string s0(oss.str());
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(s0));
|
||||
|
||||
oss.clear(); oss.seekp(0);
|
||||
PHRQ_io::fpunchf_helper(&oss, "%2047.2047s", "TEST");
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)2047, oss.str().size());
|
||||
//CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(oss.str()));
|
||||
std::string s1(oss.str());
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(s1));
|
||||
|
||||
oss.clear(); oss.seekp(0);
|
||||
PHRQ_io::fpunchf_helper(&oss, "%2048.2048s", "TEST");
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)2048, oss.str().size());
|
||||
//CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(oss.str()));
|
||||
std::string s2(oss.str());
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(s2));
|
||||
|
||||
oss.clear(); oss.seekp(0);
|
||||
PHRQ_io::fpunchf_helper(&oss, "%2049.2049s", "TEST");
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)2049, oss.str().size());
|
||||
//CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(oss.str()));
|
||||
std::string s3(oss.str());
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(s3));
|
||||
|
||||
oss.clear(); oss.seekp(0);
|
||||
PHRQ_io::fpunchf_helper(&oss, "%2050.2050s", "TEST");
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)2050, oss.str().size());
|
||||
//CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(oss.str()));
|
||||
std::string s4(oss.str());
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(s4));
|
||||
|
||||
|
||||
// string tests
|
||||
std::string str;
|
||||
PHRQ_io::fpunchf_helper(&str, "%2046.2046s", "TEST");
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)2046, str.size());
|
||||
//CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(str));
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(str));
|
||||
|
||||
str.clear();
|
||||
PHRQ_io::fpunchf_helper(&str, "%2047.2047s", "TEST");
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)2047, str.size());
|
||||
//CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(str));
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(str));
|
||||
|
||||
str.clear();
|
||||
PHRQ_io::fpunchf_helper(&str, "%2048.2048s", "TEST");
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)2048, str.size());
|
||||
//CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(str));
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(str));
|
||||
|
||||
str.clear();
|
||||
PHRQ_io::fpunchf_helper(&str, "%2049.2049s", "TEST");
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)2049, str.size());
|
||||
//CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(str));
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(str));
|
||||
|
||||
str.clear();
|
||||
PHRQ_io::fpunchf_helper(&str, "%2050.2050s", "TEST");
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)2050, str.size());
|
||||
//CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(str));
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("TEST"), trim(str));
|
||||
|
||||
const char input[] =
|
||||
"PRINT\n"
|
||||
@ -3246,3 +3250,132 @@ void TestIPhreeqc::TestLongUser_Punch(void)
|
||||
CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("phreeqc.dat"));
|
||||
CPPUNIT_ASSERT_EQUAL(0, obj.RunString(input));
|
||||
}
|
||||
|
||||
void TestIPhreeqc::TestBasicSURF(void)
|
||||
{
|
||||
IPhreeqc obj;
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 0, obj.LoadDatabase("phreeqc.dat"));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("SURFACE_MASTER_SPECIES") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Surfa Surfa") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Surfb Surfb") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("SURFACE_SPECIES") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Surfa = Surfa") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" log_k 0") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Surfb = Surfb") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" log_k 0") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Surfa + Zn+2 = SurfaZn+2") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" log_k 5.") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Surfb + Zn+2 = SurfbZn+2") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" log_k 6.") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Surfa + Cu+2 = SurfaCu+2") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" log_k 4.5") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Surfb + Cu+2 = SurfbCu+2") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" log_k 6.5") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("SOLUTION 1") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" pH 8") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" units mol/kgw") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Fe(3) 1e-2") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Zn 1e-4") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Cu 1e-5") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Na 1e-1") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Cl 1e-1") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("EQUILIBRIUM_PHASES 1") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Fe(OH)3(a) 0 0") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("SELECTED_OUTPUT") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("USER_PUNCH") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" -headings Hfo-Zn Surfa-Zn Surfb-Zn Surfa-Cu Surfb-Cu") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("-start") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("10 PUNCH SURF(\"Zn\",\"Hfo\")") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("20 PUNCH SURF(\"Zn\",\"Surfa\")") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("30 PUNCH SURF(\"Zn\",\"Surfb\")") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("40 PUNCH SURF(\"Cu\",\"Surfa\")") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("50 PUNCH SURF(\"Cu\",\"Surfb\")") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("-end") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("SURFACE 1") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Hfo_sOH Fe(OH)3(a) equilibrium_phase 0.005 53300") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Hfo_wOH Fe(OH)3(a) equilibrium_phase 0.2") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Surfa 0.2 100. 2") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine(" Surfb 0.1 100. 1") );
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.AccumulateLine("END") );
|
||||
|
||||
obj.SetOutputStringOn(true);
|
||||
obj.SetOutputFileOn(false);
|
||||
obj.SetErrorFileOn(false);
|
||||
obj.SetLogFileOn(false);
|
||||
obj.SetSelectedOutputFileOn(false);
|
||||
obj.SetDumpStringOn(false);
|
||||
obj.SetDumpFileOn(false);
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 0, obj.RunAccumulated() );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(13, obj.GetSelectedOutputColumnCount());
|
||||
CPPUNIT_ASSERT_EQUAL(3, obj.GetSelectedOutputRowCount());
|
||||
|
||||
CVar v;
|
||||
|
||||
const int offset = 8;
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(0, offset + 0, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("Hfo-Zn"), std::string(v.sVal));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(0, offset + 1, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("Surfa-Zn"), std::string(v.sVal));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(0, offset + 2, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("Surfb-Zn"), std::string(v.sVal));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(0, offset + 3, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("Surfa-Cu"), std::string(v.sVal));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(0, offset + 4, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("Surfb-Cu"), std::string(v.sVal));
|
||||
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(1, offset + 0, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.0, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(1, offset + 1, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.0, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(1, offset + 2, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.0, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(1, offset + 3, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.0, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(1, offset + 4, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.0, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(2, offset + 0, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 6.3861e-005, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(2, offset + 1, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 1.7868e-005, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(2, offset + 2, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 1.8248e-005, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(2, offset + 3, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 4.6216e-009, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(VR_OK, obj.GetSelectedOutputValue(2, offset + 4, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 4.7201e-008, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
}
|
||||
@ -61,6 +61,7 @@ class TestIPhreeqc : public CppUnit::TestFixture
|
||||
CPPUNIT_TEST( TestGetSelectedOutputStringLine );
|
||||
CPPUNIT_TEST( TestGetSelectedOutputStringLineNotEnoughHeadings );
|
||||
CPPUNIT_TEST( TestLongUser_Punch );
|
||||
CPPUNIT_TEST( TestBasicSURF );
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
||||
public:
|
||||
@ -122,6 +123,7 @@ public:
|
||||
void TestGetSelectedOutputStringLine(void);
|
||||
void TestGetSelectedOutputStringLineNotEnoughHeadings(void);
|
||||
void TestLongUser_Punch(void);
|
||||
void TestBasicSURF(void);
|
||||
|
||||
protected:
|
||||
void TestFileOnOff(const char* FILENAME, bool output_file_on, bool error_file_on, bool log_file_on, bool selected_output_file_on, bool dump_file_on);
|
||||
|
||||
@ -302,7 +302,7 @@ void TestIPhreeqcLib::TestRunWithErrors()
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::DestroyIPhreeqc(n));
|
||||
}
|
||||
|
||||
//::Sleep(100);
|
||||
CPPUNIT_ASSERT_EQUAL( true, ::FileExists(dump_file) );
|
||||
CPPUNIT_ASSERT( ::FileSize(dump_file) > 0 );
|
||||
CPPUNIT_ASSERT(::DeleteFile(dump_file));
|
||||
@ -3991,3 +3991,140 @@ void TestIPhreeqcLib::TestLongUser_Punch(void)
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::DestroyIPhreeqc(n));
|
||||
}
|
||||
}
|
||||
|
||||
void TestIPhreeqcLib::TestBasicSURF(void)
|
||||
{
|
||||
int n = ::CreateIPhreeqc();
|
||||
CPPUNIT_ASSERT(n >= 0);
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 0, ::LoadDatabase(n, "phreeqc.dat") );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "SURFACE_MASTER_SPECIES") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Surfa Surfa") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Surfb Surfb") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "SURFACE_SPECIES") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Surfa = Surfa") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " log_k 0") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Surfb = Surfb") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " log_k 0") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Surfa + Zn+2 = SurfaZn+2") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " log_k 5.") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Surfb + Zn+2 = SurfbZn+2") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " log_k 6.") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Surfa + Cu+2 = SurfaCu+2") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " log_k 4.5") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Surfb + Cu+2 = SurfbCu+2") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " log_k 6.5") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "SOLUTION 1") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " pH 8") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " units mol/kgw") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Fe(3) 1e-2") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Zn 1e-4") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Cu 1e-5") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Na 1e-1") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Cl 1e-1") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "EQUILIBRIUM_PHASES 1") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Fe(OH)3(a) 0 0") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "SELECTED_OUTPUT") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "USER_PUNCH") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " -headings Hfo-Zn Surfa-Zn Surfb-Zn Surfa-Cu Surfb-Cu") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "-start") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "10 PUNCH SURF(\"Zn\",\"Hfo\")") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "20 PUNCH SURF(\"Zn\",\"Surfa\")") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "30 PUNCH SURF(\"Zn\",\"Surfb\")") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "40 PUNCH SURF(\"Cu\",\"Surfa\")") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "50 PUNCH SURF(\"Cu\",\"Surfb\")") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "-end") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "SURFACE 1") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Hfo_sOH Fe(OH)3(a) equilibrium_phase 0.005 53300") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Hfo_wOH Fe(OH)3(a) equilibrium_phase 0.2") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Surfa 0.2 100. 2") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, " Surfb 0.1 100. 1") );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::AccumulateLine(n, "END") );
|
||||
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::SetOutputFileOn(n, 0) );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::SetOutputStringOn(n, 0) );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::SetErrorFileOn(n, 0) );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::SetLogFileOn(n, 0) );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::SetSelectedOutputFileOn(n, 0) );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::SetDumpStringOn(n, 0) );
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::SetDumpFileOn(n, 0) );
|
||||
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 0, ::RunAccumulated(n) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(13, ::GetSelectedOutputColumnCount(n));
|
||||
CPPUNIT_ASSERT_EQUAL(3, ::GetSelectedOutputRowCount(n));
|
||||
|
||||
CVar v;
|
||||
|
||||
const int offset = 8;
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 0, offset + 0, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("Hfo-Zn"), std::string(v.sVal));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 0, offset + 1, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("Surfa-Zn"), std::string(v.sVal));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 0, offset + 2, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("Surfb-Zn"), std::string(v.sVal));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 0, offset + 3, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("Surfa-Cu"), std::string(v.sVal));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 0, offset + 4, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("Surfb-Cu"), std::string(v.sVal));
|
||||
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 1, offset + 0, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.0, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 1, offset + 1, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.0, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 1, offset + 2, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.0, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 1, offset + 3, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.0, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 1, offset + 4, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 0.0, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 2, offset + 0, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 6.3861e-005, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 2, offset + 1, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 1.7868e-005, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 2, offset + 2, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 1.8248e-005, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 2, offset + 3, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 4.6216e-009, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::GetSelectedOutputValue(n, 2, offset + 4, &v));
|
||||
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, v.type);
|
||||
CPPUNIT_ASSERT_DOUBLES_EQUAL( 4.7201e-008, v.dVal, ::pow(10., -FLT_DIG) );
|
||||
|
||||
if (n >= 0)
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::DestroyIPhreeqc(n));
|
||||
}
|
||||
}
|
||||
@ -68,6 +68,7 @@ class TestIPhreeqcLib : public CppUnit::TestFixture
|
||||
CPPUNIT_TEST( TestGetSelectedOutputStringLine );
|
||||
CPPUNIT_TEST( TestGetSelectedOutputStringLineNotEnoughHeadings );
|
||||
CPPUNIT_TEST( TestLongUser_Punch );
|
||||
CPPUNIT_TEST( TestBasicSURF );
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
||||
public:
|
||||
@ -136,6 +137,7 @@ public:
|
||||
void TestGetSelectedOutputStringLine(void);
|
||||
void TestGetSelectedOutputStringLineNotEnoughHeadings(void);
|
||||
void TestLongUser_Punch(void);
|
||||
void TestBasicSURF(void);
|
||||
|
||||
protected:
|
||||
void TestFileOnOff(const char* FILENAME, int output_file_on, int error_file_on, int log_file_on, int selected_output_file_on, int dump_file_on);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user