mirror of
https://git.gfz-potsdam.de/naaice/iphreeqc.git
synced 2025-12-15 16:18:22 +01:00
fixed crash that occurred when sit.dat was loaded twice
git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@9512 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
parent
20b75597b6
commit
e73aa3ac73
@ -26,34 +26,42 @@ TestIPhreeqc::~TestIPhreeqc(void)
|
||||
|
||||
void TestIPhreeqc::TestLoadDatabase(void)
|
||||
{
|
||||
IPhreeqc obj;
|
||||
for (int i = 0; i < 10; ++i)
|
||||
std::string FILES[] = {"../database/phreeqc.dat", "../database/pitzer.dat", "../database/wateq4f.dat",
|
||||
"../database/Amm.dat", "../database/frezchem.dat", "../database/iso.dat",
|
||||
"../database/llnl.dat", "../database/minteq.dat", "../database/minteq.v4.dat",
|
||||
"../database/sit.dat"
|
||||
};
|
||||
for (int j = 0; j < sizeof(FILES)/sizeof(std::string); ++j)
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(true, ::FileExists("phreeqc.dat"));
|
||||
CPPUNIT_ASSERT(::FileSize("phreeqc.dat") > 0);
|
||||
CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("phreeqc.dat"));
|
||||
}
|
||||
IPhreeqc obj;
|
||||
for (int i = 0; i < 10; ++i)
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(true, ::FileExists(FILES[j].c_str()));
|
||||
CPPUNIT_ASSERT(::FileSize(FILES[j].c_str()) > 0);
|
||||
CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase(FILES[j].c_str()));
|
||||
}
|
||||
|
||||
// make sure settings are cleared
|
||||
//
|
||||
// make sure settings are cleared
|
||||
//
|
||||
|
||||
IPhreeqc obj2;
|
||||
for (int i = 0; i < 10; ++i)
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(false, obj2.GetSelectedOutputFileOn());
|
||||
IPhreeqc obj2;
|
||||
for (int i = 0; i < 10; ++i)
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(false, obj2.GetSelectedOutputFileOn());
|
||||
|
||||
obj2.SetSelectedOutputFileOn(true);
|
||||
CPPUNIT_ASSERT_EQUAL(true, obj2.GetSelectedOutputFileOn());
|
||||
obj2.SetSelectedOutputFileOn(true);
|
||||
CPPUNIT_ASSERT_EQUAL(true, obj2.GetSelectedOutputFileOn());
|
||||
|
||||
obj2.SetSelectedOutputFileOn(true);
|
||||
CPPUNIT_ASSERT_EQUAL(true, obj2.GetSelectedOutputFileOn());
|
||||
obj2.SetSelectedOutputFileOn(true);
|
||||
CPPUNIT_ASSERT_EQUAL(true, obj2.GetSelectedOutputFileOn());
|
||||
|
||||
CPPUNIT_ASSERT_EQUAL(true, ::FileExists("phreeqc.dat"));
|
||||
CPPUNIT_ASSERT(::FileSize("phreeqc.dat") > 0);
|
||||
CPPUNIT_ASSERT_EQUAL(0, obj2.LoadDatabase("phreeqc.dat"));
|
||||
CPPUNIT_ASSERT_EQUAL(true, ::FileExists(FILES[j].c_str()));
|
||||
CPPUNIT_ASSERT(::FileSize(FILES[j].c_str()) > 0);
|
||||
CPPUNIT_ASSERT_EQUAL(0, obj2.LoadDatabase(FILES[j].c_str()));
|
||||
|
||||
// all previous definitions are cleared
|
||||
CPPUNIT_ASSERT_EQUAL(false, obj2.GetSelectedOutputFileOn());
|
||||
// all previous definitions are cleared
|
||||
CPPUNIT_ASSERT_EQUAL(false, obj2.GetSelectedOutputFileOn());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -138,11 +138,19 @@ void TestIPhreeqcLib::TestLoadDatabase(void)
|
||||
int n = ::CreateIPhreeqc();
|
||||
CPPUNIT_ASSERT(n >= 0);
|
||||
|
||||
for (int i = 0; i < 10; ++i)
|
||||
std::string FILES[] = {"../database/phreeqc.dat", "../database/pitzer.dat", "../database/wateq4f.dat",
|
||||
"../database/Amm.dat", "../database/frezchem.dat", "../database/iso.dat",
|
||||
"../database/llnl.dat", "../database/minteq.dat", "../database/minteq.v4.dat",
|
||||
"../database/sit.dat"
|
||||
};
|
||||
for (int j = 0; j < sizeof(FILES)/sizeof(std::string); ++j)
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(true, ::FileExists("phreeqc.dat"));
|
||||
CPPUNIT_ASSERT(::FileSize("phreeqc.dat") > 0);
|
||||
CPPUNIT_ASSERT_EQUAL(0, ::LoadDatabase(n, "phreeqc.dat"));
|
||||
for (int i = 0; i < 10; ++i)
|
||||
{
|
||||
CPPUNIT_ASSERT_EQUAL(true, ::FileExists(FILES[j].c_str()));
|
||||
CPPUNIT_ASSERT(::FileSize(FILES[j].c_str()) > 0);
|
||||
CPPUNIT_ASSERT_EQUAL(0, ::LoadDatabase(n, FILES[j].c_str()));
|
||||
}
|
||||
}
|
||||
|
||||
if (n >= 0)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user