mirror of
https://git.gfz-potsdam.de/naaice/iphreeqc.git
synced 2025-12-15 16:18:22 +01:00
Added some assertions; optimized GetSelectedOutputValue; added some multi selected-output tests
git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@8285 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
parent
ed49fe9309
commit
0b6695be8f
@ -369,6 +369,7 @@ int IPhreeqc::GetSelectedOutputColumnCount(void)const
|
||||
|
||||
int IPhreeqc::GetSelectedOutputCount(void)const
|
||||
{
|
||||
ASSERT(this->PhreeqcPtr->SelectedOutput_map.size() == this->CurrentSelectedOutputMap.size());
|
||||
return (int) this->PhreeqcPtr->SelectedOutput_map.size();
|
||||
}
|
||||
|
||||
@ -459,21 +460,27 @@ VRESULT IPhreeqc::GetSelectedOutputValue(int row, int col, VAR* pVAR)
|
||||
{
|
||||
case VR_OK:
|
||||
break;
|
||||
case VR_INVALIDROW:
|
||||
this->AddError("GetSelectedOutputValue: VR_INVALIDROW Row index out of range.\n");
|
||||
this->update_errors();
|
||||
break;
|
||||
case VR_INVALIDCOL:
|
||||
this->AddError("GetSelectedOutputValue: VR_INVALIDCOL Column index out of range.\n");
|
||||
this->update_errors();
|
||||
break;
|
||||
case VR_OUTOFMEMORY:
|
||||
this->AddError("GetSelectedOutputValue: VR_OUTOFMEMORY Out of memory.\n");
|
||||
this->update_errors();
|
||||
break;
|
||||
case VR_BADVARTYPE:
|
||||
this->AddError("GetSelectedOutputValue: VR_BADVARTYPE pVar must be initialized(VarInit) and/or cleared(VarClear).\n");
|
||||
this->update_errors();
|
||||
break;
|
||||
case VR_INVALIDARG:
|
||||
// not possible
|
||||
break;
|
||||
case VR_INVALIDROW:
|
||||
this->AddError("GetSelectedOutputValue: VR_INVALIDROW Row index out of range.\n");
|
||||
break;
|
||||
case VR_INVALIDCOL:
|
||||
this->AddError("GetSelectedOutputValue: VR_INVALIDCOL Column index out of range.\n");
|
||||
break;
|
||||
default:
|
||||
assert(0);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -482,8 +489,8 @@ VRESULT IPhreeqc::GetSelectedOutputValue(int row, int col, VAR* pVAR)
|
||||
v = VR_INVALIDARG;
|
||||
::sprintf(buffer, "GetSelectedOutputValue: VR_INVALIDARG Invalid selected-output user number %d.\n", this->CurrentSelectedOutputUserNumber);
|
||||
this->AddError(buffer);
|
||||
this->update_errors();
|
||||
}
|
||||
this->update_errors();
|
||||
return v;
|
||||
}
|
||||
|
||||
@ -1124,6 +1131,7 @@ void IPhreeqc::do_run(const char* sz_routine, std::istream* pis, PFN_PRERUN_CALL
|
||||
ASSERT(this->SelectedOutputMap[(*mit).first] == this->CurrentSelectedOutputMap[&(*mit).second]);
|
||||
}
|
||||
}
|
||||
ASSERT(this->PhreeqcPtr->SelectedOutput_map.size() == this->CurrentSelectedOutputMap.size());
|
||||
if (this->PhreeqcPtr->title_x != NULL)
|
||||
{
|
||||
::sprintf(token, "TITLE");
|
||||
|
||||
@ -4078,3 +4078,83 @@ void TestIPhreeqc::TestMultiSetSelectedOutputFileName(void)
|
||||
CPPUNIT_ASSERT( set1.VerifyExists() );
|
||||
CPPUNIT_ASSERT( set2.VerifyExists() );
|
||||
}
|
||||
|
||||
void TestIPhreeqc::TestWissmeier20131203(void)
|
||||
{
|
||||
IPhreeqc obj;
|
||||
CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("../database/phreeqc.dat"));
|
||||
|
||||
obj.AccumulateLine("selected_output 1");
|
||||
obj.AccumulateLine("-totals O");
|
||||
obj.AccumulateLine("");
|
||||
obj.AccumulateLine("END");
|
||||
obj.AccumulateLine("selected_output 1");
|
||||
obj.AccumulateLine("-totals H");
|
||||
obj.AccumulateLine("");
|
||||
obj.AccumulateLine("solution");
|
||||
obj.AccumulateLine("END");
|
||||
obj.AccumulateLine("selected_output");
|
||||
|
||||
// original asserts here
|
||||
CPPUNIT_ASSERT_EQUAL(0, obj.RunAccumulated());
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 1, obj.GetSelectedOutputCount() );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 9, obj.GetSelectedOutputColumnCount() );
|
||||
CPPUNIT_ASSERT_EQUAL( 2, obj.GetSelectedOutputRowCount() );
|
||||
}
|
||||
|
||||
void TestIPhreeqc::TestWissmeier20131203_2(void)
|
||||
{
|
||||
IPhreeqc obj;
|
||||
CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("../database/phreeqc.dat"));
|
||||
|
||||
obj.AccumulateLine("selected_output 22");
|
||||
obj.AccumulateLine("-totals O");
|
||||
obj.AccumulateLine("");
|
||||
obj.AccumulateLine("END");
|
||||
obj.AccumulateLine("selected_output 22");
|
||||
obj.AccumulateLine("-totals H");
|
||||
obj.AccumulateLine("");
|
||||
obj.AccumulateLine("solution");
|
||||
obj.AccumulateLine("END");
|
||||
obj.AccumulateLine("selected_output 22");
|
||||
|
||||
// original asserts here
|
||||
CPPUNIT_ASSERT_EQUAL(0, obj.RunAccumulated());
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 1, obj.GetSelectedOutputCount() );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( VR_OK, obj.SetCurrentSelectedOutputUserNumber(22) );
|
||||
CPPUNIT_ASSERT_EQUAL( 1, obj.GetSelectedOutputColumnCount() );
|
||||
CPPUNIT_ASSERT_EQUAL( 2, obj.GetSelectedOutputRowCount() );
|
||||
}
|
||||
|
||||
void TestIPhreeqc::TestWissmeier20131203_3(void)
|
||||
{
|
||||
IPhreeqc obj;
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("../database/phreeqc.dat"));
|
||||
|
||||
obj.AccumulateLine("selected_output 1");
|
||||
obj.AccumulateLine("-reset false");
|
||||
obj.AccumulateLine("-totals O");
|
||||
obj.AccumulateLine("");
|
||||
obj.AccumulateLine("END");
|
||||
obj.AccumulateLine("selected_output 1");
|
||||
obj.AccumulateLine("-reset false");
|
||||
obj.AccumulateLine("-totals H");
|
||||
obj.AccumulateLine("");
|
||||
obj.AccumulateLine("solution");
|
||||
obj.AccumulateLine("END");
|
||||
obj.AccumulateLine("selected_output");
|
||||
obj.AccumulateLine("-reset false");
|
||||
|
||||
// original asserts here
|
||||
CPPUNIT_ASSERT_EQUAL(0, obj.RunAccumulated());
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 1, obj.GetSelectedOutputCount() );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 1, obj.GetSelectedOutputColumnCount() );
|
||||
CPPUNIT_ASSERT_EQUAL( 2, obj.GetSelectedOutputRowCount() );
|
||||
}
|
||||
|
||||
@ -74,6 +74,9 @@ class TestIPhreeqc : public CppUnit::TestFixture
|
||||
CPPUNIT_TEST( TestGetNthSelectedOutputUserNumber );
|
||||
CPPUNIT_TEST( TestGetCurrentSelectedOutputUserNumber );
|
||||
CPPUNIT_TEST( TestMultiSetSelectedOutputFileName );
|
||||
CPPUNIT_TEST( TestWissmeier20131203 );
|
||||
CPPUNIT_TEST( TestWissmeier20131203_2 );
|
||||
CPPUNIT_TEST( TestWissmeier20131203_3 );
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
||||
public:
|
||||
@ -148,6 +151,9 @@ public:
|
||||
void TestGetNthSelectedOutputUserNumber(void);
|
||||
void TestGetCurrentSelectedOutputUserNumber(void);
|
||||
void TestMultiSetSelectedOutputFileName(void);
|
||||
void TestWissmeier20131203(void);
|
||||
void TestWissmeier20131203_2(void);
|
||||
void TestWissmeier20131203_3(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);
|
||||
|
||||
@ -4404,4 +4404,89 @@ void TestIPhreeqcLib::TestMultiSetSelectedOutputFileName(void)
|
||||
|
||||
CPPUNIT_ASSERT( set1.VerifyExists() );
|
||||
CPPUNIT_ASSERT( set2.VerifyExists() );
|
||||
}
|
||||
|
||||
void TestIPhreeqcLib::TestWissmeier20131203(void)
|
||||
{
|
||||
int id = ::CreateIPhreeqc();
|
||||
CPPUNIT_ASSERT(id >= 0);
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(0, ::LoadDatabase(id, "../database/phreeqc.dat"));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "selected_output 1"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "-totals O"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, ""));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "END"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "selected_output 1"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "-totals H"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, ""));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "solution"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "END"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "selected_output"));
|
||||
|
||||
// original asserts here
|
||||
CPPUNIT_ASSERT_EQUAL( 0, ::RunAccumulated(id));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 1, ::GetSelectedOutputCount(id) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 9, ::GetSelectedOutputColumnCount(id) );
|
||||
CPPUNIT_ASSERT_EQUAL( 2, ::GetSelectedOutputRowCount(id) );
|
||||
}
|
||||
|
||||
void TestIPhreeqcLib::TestWissmeier20131203_2(void)
|
||||
{
|
||||
int id = ::CreateIPhreeqc();
|
||||
CPPUNIT_ASSERT(id >= 0);
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(0, ::LoadDatabase(id, "../database/phreeqc.dat"));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "selected_output 22"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "-totals O"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, ""));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "END"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "selected_output 22"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "-totals H"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, ""));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "solution"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "END"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "selected_output 22"));
|
||||
|
||||
// original asserts here
|
||||
CPPUNIT_ASSERT_EQUAL( 0, ::RunAccumulated(id));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 1, ::GetSelectedOutputCount(id) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( IPQ_OK, ::SetCurrentSelectedOutputUserNumber(id, 22) );
|
||||
CPPUNIT_ASSERT_EQUAL( 1, ::GetSelectedOutputColumnCount(id) );
|
||||
CPPUNIT_ASSERT_EQUAL( 2, ::GetSelectedOutputRowCount(id) );
|
||||
}
|
||||
|
||||
void TestIPhreeqcLib::TestWissmeier20131203_3(void)
|
||||
{
|
||||
int id = ::CreateIPhreeqc();
|
||||
CPPUNIT_ASSERT(id >= 0);
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(0, ::LoadDatabase(id, "../database/phreeqc.dat"));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "selected_output 1"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "-reset false"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "-totals O"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, ""));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "END"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "selected_output 1"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "-reset false"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "-totals H"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, ""));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "solution"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "END"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "selected_output"));
|
||||
CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::AccumulateLine(id, "-reset false"));
|
||||
|
||||
// original asserts here
|
||||
CPPUNIT_ASSERT_EQUAL( 0, ::RunAccumulated(id));
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 1, ::GetSelectedOutputCount(id) );
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL( 1, ::GetSelectedOutputColumnCount(id) );
|
||||
CPPUNIT_ASSERT_EQUAL( 2, ::GetSelectedOutputRowCount(id) );
|
||||
}
|
||||
@ -76,6 +76,9 @@ class TestIPhreeqcLib : public CppUnit::TestFixture
|
||||
CPPUNIT_TEST( TestGetNthSelectedOutputUserNumber );
|
||||
CPPUNIT_TEST( TestGetCurrentSelectedOutputUserNumber );
|
||||
CPPUNIT_TEST( TestMultiSetSelectedOutputFileName );
|
||||
CPPUNIT_TEST( TestWissmeier20131203 );
|
||||
CPPUNIT_TEST( TestWissmeier20131203_2 );
|
||||
CPPUNIT_TEST( TestWissmeier20131203_3 );
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
||||
public:
|
||||
@ -152,6 +155,9 @@ public:
|
||||
void TestGetNthSelectedOutputUserNumber(void);
|
||||
void TestGetCurrentSelectedOutputUserNumber(void);
|
||||
void TestMultiSetSelectedOutputFileName(void);
|
||||
void TestWissmeier20131203(void);
|
||||
void TestWissmeier20131203_2(void);
|
||||
void TestWissmeier20131203_3(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);
|
||||
|
||||
@ -92,7 +92,7 @@ int main(int argc, char **argv)
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
s.stopTimer();
|
||||
std::cerr << s.getElapsedTime() << std::endl;
|
||||
std::cerr << "Elapsed time: " << s.getElapsedTime() << std::endl;
|
||||
#endif
|
||||
|
||||
return wasSucessful ? 0 : 1;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user