Rearranging IPhreeqc

git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@4110 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
Scott R Charlton 2010-02-23 05:06:43 +00:00
parent 41a7d26c56
commit 71d54c4dee
18 changed files with 27293 additions and 0 deletions

10
unit/.cvsignore Normal file
View File

@ -0,0 +1,10 @@
Debug
Release
Profile
unit.plg
unit.opt
unit.ncp
unit.mak
unit.dep
unit.ncb
error.inp

303
unit/GNUmakefile Normal file
View File

@ -0,0 +1,303 @@
CPPUNIT = /z/parkplace/home/charlton
CC = g++
CFLAGS = -Wall -O3
CPPFLAGS = -DSWIG_SHARED_OBJ -I$(CPPUNIT)/include -I../include -I../src/phreeqcpp -I../src/phreeqcpp/phreeqc
TARGET_ARCH =
FC = f95
FFLAGS = -fno-second-underscore
CXX = g++
CXXFLAGS = -Wall -DNDEBUG
RANLIB = ranlib
RM = rm -f
AR = ar ruv
TARGET = unit
LDFLAGS = -L../lib -L$(CPPUNIT)/lib -ldl
VPATH=.:../src:../src/phreeqcpp/phreeqc
%.o: %.f
$(FC) $(FFLAGS) $(TARGET_ARCH) -c -o $@ $<
%.o: %.F
$(FC) $(FFLAGS) $(TARGET_ARCH) -c -o $@ $<
%.o: %.c
$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@ $<
%.o: %.cxx
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@ $<
%.o: %.cpp
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@ $<
TOBJS = \
TestCVar.o \
TestInterface.o \
TestSelectedOutput.o \
TestVar.o \
unit.o
SOBJS = \
IPhreeqc.o \
SelectedOutput.o \
Var.o \
fwrap.o \
global.o \
module_files.o \
module_output.o
POBJS = \
advection.o \
basic.o \
basicsubs.o \
cl1.o \
cvdense.o \
cvode.o \
dense.o \
dw.o \
input.o \
integrate.o \
inverse.o \
isotopes.o \
kinetics.o \
mainsubs.o \
model.o \
nvector.o \
nvector_serial.o \
p2clib.o \
parse.o \
phqalloc.o \
pitzer.o \
pitzer_structures.o \
prep.o \
print.o \
read.o \
readtr.o \
sit.o \
smalldense.o \
spread.o \
step.o \
structures.o \
sundialsmath.o \
tally.o \
tidy.o \
transport.o \
utilities.o
all: $(TARGET)
$(TARGET): $(TOBJS) $(POBJS) $(SOBJS)
$(CXX) $(LDFLAGS) -o unit $(TOBJS) $(POBJS) $(SOBJS) -lcppunit
clean:
$(RM) $(TOBJS) $(POBJS) $(SOBJS) unit unit.exe *~
# TOBJS
TestCVar.o: TestCVar.cpp TestCVar.h ../src/CVar.hxx ../src/Debug.h \
../src/../include/Var.h
TestInterface.o: TestInterface.cpp TestInterface.h ../include/IPhreeqc.h \
../include/Var.h ../src/CVar.hxx ../src/Debug.h ../src/../include/Var.h \
../src/phreeqcns.hxx ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/phqalloc.h \
../src/phreeqcpp/phreeqc/input.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
TestSelectedOutput.o: TestSelectedOutput.cpp TestSelectedOutput.h \
../src/SelectedOutput.hxx ../src/CVar.hxx ../src/Debug.h \
../src/../include/Var.h ../src/phreeqcns.hxx \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/input.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phrqproto.h
TestVar.o: TestVar.cpp TestVar.h ../include/Var.h
unit.o: unit.cpp TestVar.h ../include/Var.h TestCVar.h ../src/CVar.hxx \
../src/Debug.h ../src/../include/Var.h TestSelectedOutput.h \
../src/SelectedOutput.hxx ../src/CVar.hxx TestInterface.h
# POBJS
advection.o: ../src/phreeqcpp/phreeqc/advection.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
basic.o: ../src/phreeqcpp/phreeqc/basic.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h ../src/phreeqcpp/phreeqc/p2c.h
basicsubs.o: ../src/phreeqcpp/phreeqc/basicsubs.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
cl1.o: ../src/phreeqcpp/phreeqc/cl1.c ../src/phreeqcpp/phreeqc/phqalloc.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phrqtype.h
cvdense.o: ../src/phreeqcpp/phreeqc/cvdense.c \
../src/phreeqcpp/phreeqc/cvdense.h ../src/phreeqcpp/phreeqc/cvode.h \
../src/phreeqcpp/phreeqc/sundialstypes.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/nvector.h \
../src/phreeqcpp/phreeqc/dense.h ../src/phreeqcpp/phreeqc/smalldense.h \
../src/phreeqcpp/phreeqc/sundialsmath.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phqalloc.h
cvode.o: ../src/phreeqcpp/phreeqc/cvode.c \
../src/phreeqcpp/phreeqc/cvode.h \
../src/phreeqcpp/phreeqc/sundialstypes.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/nvector.h \
../src/phreeqcpp/phreeqc/sundialsmath.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/kinetics.h \
../src/phreeqcpp/phreeqc/phqalloc.h
dense.o: ../src/phreeqcpp/phreeqc/dense.c \
../src/phreeqcpp/phreeqc/sundialstypes.h \
../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/sundialsmath.h \
../src/phreeqcpp/phreeqc/dense.h ../src/phreeqcpp/phreeqc/smalldense.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phqalloc.h
dw.o: ../src/phreeqcpp/phreeqc/dw.c ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phrqproto.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/pitzer.h
input.o: ../src/phreeqcpp/phreeqc/input.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/input.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h \
../src/phreeqcpp/phreeqc/phqalloc.h
integrate.o: ../src/phreeqcpp/phreeqc/integrate.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
inverse.o: ../src/phreeqcpp/phreeqc/inverse.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
isotopes.o: ../src/phreeqcpp/phreeqc/isotopes.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
kinetics.o: ../src/phreeqcpp/phreeqc/kinetics.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h \
../src/phreeqcpp/phreeqc/sundialstypes.h \
../src/phreeqcpp/phreeqc/cvode.h ../src/phreeqcpp/phreeqc/nvector.h \
../src/phreeqcpp/phreeqc/cvdense.h ../src/phreeqcpp/phreeqc/dense.h \
../src/phreeqcpp/phreeqc/smalldense.h \
../src/phreeqcpp/phreeqc/nvector_serial.h \
../src/phreeqcpp/phreeqc/kinetics.h
mainsubs.o: ../src/phreeqcpp/phreeqc/mainsubs.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h ../src/phreeqcpp/phreeqc/input.h
model.o: ../src/phreeqcpp/phreeqc/model.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
nvector.o: ../src/phreeqcpp/phreeqc/nvector.c \
../src/phreeqcpp/phreeqc/nvector.h \
../src/phreeqcpp/phreeqc/sundialstypes.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/output.h
nvector_serial.o: ../src/phreeqcpp/phreeqc/nvector_serial.c \
../src/phreeqcpp/phreeqc/nvector_serial.h \
../src/phreeqcpp/phreeqc/nvector.h \
../src/phreeqcpp/phreeqc/sundialstypes.h \
../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/sundialsmath.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phqalloc.h
p2clib.o: ../src/phreeqcpp/phreeqc/p2clib.c \
../src/phreeqcpp/phreeqc/p2c.h ../src/phreeqcpp/phreeqc/output.h
parse.o: ../src/phreeqcpp/phreeqc/parse.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
phqalloc.o: ../src/phreeqcpp/phreeqc/phqalloc.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/output.h
pitzer.o: ../src/phreeqcpp/phreeqc/pitzer.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h ../src/phreeqcpp/phreeqc/pitzer.h
pitzer_structures.o: ../src/phreeqcpp/phreeqc/pitzer_structures.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h ../src/phreeqcpp/phreeqc/pitzer.h
prep.o: ../src/phreeqcpp/phreeqc/prep.c ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/phqalloc.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phrqproto.h
print.o: ../src/phreeqcpp/phreeqc/print.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h ../src/phreeqcpp/phreeqc/pitzer.h
read.o: ../src/phreeqcpp/phreeqc/read.c ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/phqalloc.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phrqproto.h
readtr.o: ../src/phreeqcpp/phreeqc/readtr.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
smalldense.o: ../src/phreeqcpp/phreeqc/smalldense.c \
../src/phreeqcpp/phreeqc/smalldense.h \
../src/phreeqcpp/phreeqc/sundialstypes.h \
../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/sundialsmath.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phqalloc.h
spread.o: ../src/phreeqcpp/phreeqc/spread.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
step.o: ../src/phreeqcpp/phreeqc/step.c ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/phqalloc.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phrqproto.h
structures.o: ../src/phreeqcpp/phreeqc/structures.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
sundialsmath.o: ../src/phreeqcpp/phreeqc/sundialsmath.c \
../src/phreeqcpp/phreeqc/sundialsmath.h \
../src/phreeqcpp/phreeqc/sundialstypes.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/output.h
tally.o: ../src/phreeqcpp/phreeqc/tally.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
tidy.o: ../src/phreeqcpp/phreeqc/tidy.c ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/phqalloc.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phrqproto.h
transport.o: ../src/phreeqcpp/phreeqc/transport.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
utilities.o: ../src/phreeqcpp/phreeqc/utilities.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
# SOBJS
IPhreeqc.o: ../src/IPhreeqc.cpp ../src/phreeqcns.hxx \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/input.h \
../src/phreeqcpp/phreeqc/output.h ../src/phreeqcpp/phreeqc/phrqproto.h \
../src/ErrorReporter.hxx ../src/SelectedOutput.hxx \
../src/CVar.hxx ../src/Debug.h ../src/../include/Var.h \
../src/../include/IPhreeqc.h ../src/../include/Var.h \
../src/module_files.h
SelectedOutput.o: ../src/SelectedOutput.cpp ../src/SelectedOutput.hxx \
../src/CVar.hxx ../src/Debug.h ../src/../include/Var.h \
../src/phreeqcns.hxx ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/phqalloc.h \
../src/phreeqcpp/phreeqc/input.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h
Var.o: ../src/Var.c ../src/../include/Var.h
fwrap.o: ../src/fwrap.c ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/../include/IPhreeqc.h \
../src/../include/Var.h
global.o: ../src/global.c ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/phqalloc.h
module_files.o: ../src/module_files.c ../src/module_files.h \
../src/phreeqcpp/phreeqc/phreeqc_files.c \
../src/phreeqcpp/phreeqc/global.h ../src/phreeqcpp/phreeqc/phrqtype.h \
../src/phreeqcpp/phreeqc/phqalloc.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h ../src/phreeqcpp/phreeqc/input.h
module_output.o: ../src/module_output.c ../src/module_files.h \
../src/phreeqcpp/phreeqc/output.c ../src/phreeqcpp/phreeqc/global.h \
../src/phreeqcpp/phreeqc/phrqtype.h ../src/phreeqcpp/phreeqc/output.h \
../src/phreeqcpp/phreeqc/phrqproto.h \
../src/phreeqcpp/phreeqc/phqalloc.h

16
unit/TestCVar.cpp Normal file
View File

@ -0,0 +1,16 @@
#include "TestCVar.h"
TestCVar::TestCVar()
{
}
TestCVar::~TestCVar()
{
}
void TestCVar::TestCVarCtor()
{
CVar v;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v.type);
}

24
unit/TestCVar.h Normal file
View File

@ -0,0 +1,24 @@
#if !defined(TESTCVAR_H_INCLUDED)
#define TESTCVAR_H_INCLUDED
#include "../src/CVar.hxx"
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/TestFixture.h>
class TestCVar :
public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE( TestCVar );
CPPUNIT_TEST( TestCVarCtor );
CPPUNIT_TEST_SUITE_END();
public:
TestCVar(void);
~TestCVar(void);
public:
void TestCVarCtor();
};
#endif // TESTCVAR_H_INCLUDED

1287
unit/TestInterface.cpp Normal file

File diff suppressed because it is too large Load Diff

69
unit/TestInterface.h Normal file
View File

@ -0,0 +1,69 @@
#if !defined(TESTINTERFACE_H_INCLUDED)
#define TESTINTERFACE_H_INCLUDED
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/TestFixture.h>
class TestInterface :
public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE( TestInterface );
CPPUNIT_TEST( TestLoadDatabase );
CPPUNIT_TEST( TestLoadDatabaseMissingFile );
CPPUNIT_TEST( TestLoadDatabaseWithErrors );
CPPUNIT_TEST( TestRun );
CPPUNIT_TEST( TestRunWithErrors );
CPPUNIT_TEST( TestRunFile );
CPPUNIT_TEST( TestGetSelectedOutputRowCount );
CPPUNIT_TEST( TestGetSelectedOutputValue );
CPPUNIT_TEST( TestGetSelectedOutputColumnCount );
CPPUNIT_TEST( TestAddError );
CPPUNIT_TEST( TestAccumulateLine );
CPPUNIT_TEST( TestOutputLastError );
CPPUNIT_TEST( TestRunWithCallback );
CPPUNIT_TEST( TestRunNoDatabaseLoaded );
CPPUNIT_TEST( TestRunFileNoDatabaseLoaded );
CPPUNIT_TEST( TestCase1 );
CPPUNIT_TEST( TestCase2 );
CPPUNIT_TEST( TestPrintSelectedOutputFalse );
CPPUNIT_TEST( TestOutputOnOff );
CPPUNIT_TEST( TestErrorOnOff );
CPPUNIT_TEST( TestLogOnOff );
CPPUNIT_TEST( TestSelOutOnOff );
CPPUNIT_TEST( TestLongHeadings );
CPPUNIT_TEST_SUITE_END();
public:
TestInterface(void);
~TestInterface(void);
public:
void TestLoadDatabase();
void TestLoadDatabaseMissingFile();
void TestLoadDatabaseWithErrors();
void TestRun();
void TestRunWithErrors();
void TestRunFile();
void TestGetSelectedOutputRowCount();
void TestGetSelectedOutputValue();
void TestGetSelectedOutputColumnCount();
void TestAddError();
void TestAccumulateLine();
void TestOutputLastError();
void TestRunWithCallback();
void TestRunNoDatabaseLoaded();
void TestRunFileNoDatabaseLoaded();
void TestCase1();
void TestCase2();
void TestPrintSelectedOutputFalse();
void TestOutputOnOff();
void TestErrorOnOff();
void TestLogOnOff();
void TestSelOutOnOff();
void TestLongHeadings();
};
#endif // TESTINTERFACE_H_INCLUDED

646
unit/TestSelectedOutput.cpp Normal file
View File

@ -0,0 +1,646 @@
#include "TestSelectedOutput.h"
#include "../src/phreeqcns.hxx"
#undef free
#if defined(_WIN32)
#define strdup _strdup
#endif
int EndRow(void);
TestSelectedOutput::TestSelectedOutput()
{
}
TestSelectedOutput::~TestSelectedOutput()
{
}
void
TestSelectedOutput::TestEmpty()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
}
void
TestSelectedOutput::TestSinglePushBack()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CVar v(7.0);
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBack("pH", v));
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
// row count doesn't change until EndRow is called
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
#if defined(_DEBUG)
CSelectedOutput::Instance()->Dump("TestSinglePushBack");
#endif
}
void
TestSelectedOutput::TestMultiplePushBack()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CVar v1(7.0);
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBack("pH", v1));
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CVar v2(8.0);
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBack("pH", v2));
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(3u, CSelectedOutput::Instance()->GetRowCount());
#if defined(_DEBUG)
CSelectedOutput::Instance()->Dump("TestMultiplePushBack");
#endif
}
void
TestSelectedOutput::TestNewHeadingsPushBack()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CVar v1(7.0);
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBack("pH", v1));
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CVar v2(8.0);
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBack("pH", v2));
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CVar v3(9.0);
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBack("user_pH", v3));
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(3u, CSelectedOutput::Instance()->GetRowCount());
#if defined(_DEBUG)
CSelectedOutput::Instance()->Dump("TestNewHeadingsPushBack");
#endif
}
void
TestSelectedOutput::TestPushBackDouble()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackDouble("pH", 7.0));
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetRowCount()); // heading
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CVar v;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 0, &v) );
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
CPPUNIT_ASSERT_EQUAL(std::string("pH"), std::string(v.sVal));
CVar vval;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, vval.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &vval));
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, vval.type);
CPPUNIT_ASSERT_EQUAL(7.0, vval.dVal);
}
void
TestSelectedOutput::TestPushBackLong()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackLong("Sim", 2));
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetRowCount()); // heading plus first row
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CVar v;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 0, &v));
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
CPPUNIT_ASSERT_EQUAL(std::string("Sim"), std::string(v.sVal));
CVar vval;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, vval.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &vval));
CPPUNIT_ASSERT_EQUAL(TT_LONG, vval.type);
CPPUNIT_ASSERT_EQUAL(2l, vval.lVal);
}
void
TestSelectedOutput::TestPushBackString()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackString("state", "i_soln"));
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetRowCount()); // heading
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CVar v;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 0, &v) );
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
CPPUNIT_ASSERT_EQUAL(std::string("state"), std::string(v.sVal));
CVar vval;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, vval.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &vval));
CPPUNIT_ASSERT_EQUAL(TT_STRING, vval.type);
CPPUNIT_ASSERT_EQUAL(std::string("i_soln"), std::string(vval.sVal));
}
void
TestSelectedOutput::TestPushBackEmpty()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackEmpty("Empty"));
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetRowCount()); // heading
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CVar v;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 0, &v) );
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
CPPUNIT_ASSERT_EQUAL(std::string("Empty"), std::string(v.sVal));
CVar vval;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, vval.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &vval));
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, vval.type);
}
void
TestSelectedOutput::TestDuplicateHeadings()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackDouble("pH", 7.0));
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetRowCount()); // heading
// overwrite pH with 8.0
//
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackDouble("pH", 8.0));
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetRowCount()); // heading
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CVar v;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 0, &v) );
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
CPPUNIT_ASSERT_EQUAL(std::string("pH"), std::string(v.sVal));
CVar vval;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, vval.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &vval));
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, vval.type);
CPPUNIT_ASSERT_EQUAL(8.0, vval.dVal);
}
void
TestSelectedOutput::TestEndRow()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackDouble("pH", 7.0));
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetRowCount()); // heading
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CVar v;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 0, &v) );
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
CPPUNIT_ASSERT_EQUAL(std::string("pH"), std::string(v.sVal));
CVar vval;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, vval.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &vval));
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, vval.type);
CPPUNIT_ASSERT_EQUAL(7.0, vval.dVal);
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackDouble("pH", 8.0));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(3u, CSelectedOutput::Instance()->GetRowCount());
CVar vval3;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, vval3.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &vval3));
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, vval3.type);
CPPUNIT_ASSERT_EQUAL(7.0, vval3.dVal);
CVar vval2;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, vval2.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(2, 0, &vval2));
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, vval2.type);
CPPUNIT_ASSERT_EQUAL(8.0, vval2.dVal);
}
void
TestSelectedOutput::TestEndRow2()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackDouble("pH", 6.0));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackDouble("pH", 7.0));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackDouble("pH", 8.0));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackDouble("pH", 9.0));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CVar v;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 0, &v) );
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
CPPUNIT_ASSERT_EQUAL(std::string("pH"), std::string(v.sVal));
CVar vval;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, vval.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &vval));
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, vval.type);
CPPUNIT_ASSERT_EQUAL(9.0, vval.dVal); // dups get overwritten
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackDouble("pH", 8.0));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(3u, CSelectedOutput::Instance()->GetRowCount());
CVar vval3;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, vval3.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &vval3));
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, vval3.type);
CPPUNIT_ASSERT_EQUAL(9.0, vval3.dVal);
CVar vval2;
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, vval2.type);
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(2, 0, &vval2));
CPPUNIT_ASSERT_EQUAL(TT_DOUBLE, vval2.type);
CPPUNIT_ASSERT_EQUAL(8.0, vval2.dVal);
}
void
TestSelectedOutput::TestTooManyHeadings()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
// USER_PUNCH
// -headings 1.name 1.type 1.moles
n_user_punch_index = 0;
user_punch_headings = NULL;
user_punch_count_headings = 0;
user_punch_headings = (char**)::realloc(user_punch_headings, (size_t) (user_punch_count_headings + 1) * sizeof(char *));
user_punch_headings[user_punch_count_headings] = ::strdup("1.name");
user_punch_count_headings++;
user_punch_headings = (char**)::realloc(user_punch_headings, (size_t) (user_punch_count_headings + 1) * sizeof(char *));
user_punch_headings[user_punch_count_headings] = ::strdup("1.type");
user_punch_count_headings++;
user_punch_headings = (char**)::realloc(user_punch_headings, (size_t) (user_punch_count_headings + 1) * sizeof(char *));
user_punch_headings[user_punch_count_headings] = ::strdup("1.moles");
user_punch_count_headings++;
CPPUNIT_ASSERT_EQUAL(0, ::EndRow());
CPPUNIT_ASSERT_EQUAL(3u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
#if defined(_DEBUG)
CSelectedOutput::Instance()->Dump("TestTooManyHeadings");
#endif
// clean up headings
//
for (int i = 0; i < user_punch_count_headings; ++i) {
::free(user_punch_headings[i]);
}
::free(user_punch_headings);
user_punch_headings = NULL;
user_punch_count_headings = 0;
CVar head0, head1, head2;
CVar val0, val1, val2;
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 0, &head0));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 1, &head1));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 2, &head2));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &val0));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 1, &val1));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 2, &val2));
CPPUNIT_ASSERT_EQUAL(TT_STRING, head0.type);
CPPUNIT_ASSERT_EQUAL(TT_STRING, head1.type);
CPPUNIT_ASSERT_EQUAL(TT_STRING, head2.type);
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, val0.type);
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, val1.type);
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, val2.type);
CPPUNIT_ASSERT_EQUAL(std::string("1.name"), std::string(head0.sVal));
CPPUNIT_ASSERT_EQUAL(std::string("1.type"), std::string(head1.sVal));
CPPUNIT_ASSERT_EQUAL(std::string("1.moles"), std::string(head2.sVal));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackLong("sim", 1));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackString("state", "i_soln"));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackLong("soln", 22));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(6u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(3u, CSelectedOutput::Instance()->GetRowCount());
#if defined(_DEBUG)
CSelectedOutput::Instance()->Dump("TestTooManyHeadings");
#endif
}
void
TestSelectedOutput::TestNotEnoughHeadings()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
// USER_PUNCH
// -headings 1.name 1.type 1.moles
n_user_punch_index = 0;
user_punch_headings = NULL;
user_punch_count_headings = 0;
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackLong("sim", 1));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackString("state", "i_soln"));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackLong("soln", 22));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(3u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
#if defined(_DEBUG)
CSelectedOutput::Instance()->Dump("TestNotEnoughHeadings");
#endif
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackLong("sim", 2));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackString("state", "react"));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackLong("soln", 23));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackEmpty("no_heading_1"));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackEmpty("no_heading_2"));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackEmpty("no_heading_3"));
#if defined(_DEBUG)
CSelectedOutput::Instance()->Dump("TestNotEnoughHeadings");
#endif
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(6u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(3u, CSelectedOutput::Instance()->GetRowCount());
CVar head0, head1, head2, head3, head4, head5;
CVar val0, val1, val2, val3, val4, val5;
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 0, &head0));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 1, &head1));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 2, &head2));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 3, &head3));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 4, &head4));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 5, &head5));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &val0));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 1, &val1));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 2, &val2));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 3, &val3));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 4, &val4));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 5, &val5));
CPPUNIT_ASSERT_EQUAL(TT_STRING, head0.type);
CPPUNIT_ASSERT_EQUAL(TT_STRING, head1.type);
CPPUNIT_ASSERT_EQUAL(TT_STRING, head2.type);
CPPUNIT_ASSERT_EQUAL(TT_STRING, head3.type);
CPPUNIT_ASSERT_EQUAL(TT_STRING, head4.type);
CPPUNIT_ASSERT_EQUAL(TT_STRING, head5.type);
CPPUNIT_ASSERT_EQUAL(TT_LONG, val0.type);
CPPUNIT_ASSERT_EQUAL(TT_STRING, val1.type);
CPPUNIT_ASSERT_EQUAL(TT_LONG, val2.type);
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, val3.type);
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, val4.type);
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, val5.type);
CPPUNIT_ASSERT_EQUAL(std::string("sim"), std::string(head0.sVal));
CPPUNIT_ASSERT_EQUAL(std::string("state"), std::string(head1.sVal));
CPPUNIT_ASSERT_EQUAL(std::string("soln"), std::string(head2.sVal));
CPPUNIT_ASSERT_EQUAL(std::string("no_heading_1"), std::string(head3.sVal));
CPPUNIT_ASSERT_EQUAL(std::string("no_heading_2"), std::string(head4.sVal));
CPPUNIT_ASSERT_EQUAL(std::string("no_heading_3"), std::string(head5.sVal));
CPPUNIT_ASSERT_EQUAL(1l, val0.lVal);
CPPUNIT_ASSERT_EQUAL(std::string("i_soln"), std::string(val1.sVal));
CPPUNIT_ASSERT_EQUAL(22l, val2.lVal);
}
void
TestSelectedOutput::TestInvalidRow()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CVar v;
CPPUNIT_ASSERT_EQUAL(VR_INVALIDROW, CSelectedOutput::Instance()->Get(0, 0, &v));
CPPUNIT_ASSERT_EQUAL(TT_ERROR, v.type);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDROW, v.vresult);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDROW, CSelectedOutput::Instance()->Get(-1, -1, &v));
CPPUNIT_ASSERT_EQUAL(TT_ERROR, v.type);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDROW, v.vresult);
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackEmpty("heading"));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 0, &v) );
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
CPPUNIT_ASSERT_EQUAL(std::string("heading"), std::string(v.sVal));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &v));
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v.type);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDROW, CSelectedOutput::Instance()->Get(2, 0, &v));
CPPUNIT_ASSERT_EQUAL(TT_ERROR, v.type);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDROW, v.vresult);
}
void
TestSelectedOutput::TestInvalidCol()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CVar v;
CPPUNIT_ASSERT_EQUAL(VR_INVALIDROW, CSelectedOutput::Instance()->Get(0, 0, &v));
CPPUNIT_ASSERT_EQUAL(TT_ERROR, v.type);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDROW, v.vresult);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDROW, CSelectedOutput::Instance()->Get(-1, -1, &v));
CPPUNIT_ASSERT_EQUAL(TT_ERROR, v.type);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDROW, v.vresult);
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackEmpty("heading"));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(0, 0, &v) );
CPPUNIT_ASSERT_EQUAL(TT_STRING, v.type);
CPPUNIT_ASSERT_EQUAL(std::string("heading"), std::string(v.sVal));
CPPUNIT_ASSERT_EQUAL(VR_OK, CSelectedOutput::Instance()->Get(1, 0, &v));
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v.type);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDCOL, CSelectedOutput::Instance()->Get(0, 1, &v));
CPPUNIT_ASSERT_EQUAL(TT_ERROR, v.type);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDCOL, v.vresult);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDCOL, CSelectedOutput::Instance()->Get(0, -1, &v));
CPPUNIT_ASSERT_EQUAL(TT_ERROR, v.type);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDCOL, v.vresult);
}
void
TestSelectedOutput::TestGet()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackEmpty("heading"));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CVar v0 = CSelectedOutput::Instance()->Get(0, 0);
CPPUNIT_ASSERT_EQUAL(TT_STRING, v0.type);
CPPUNIT_ASSERT_EQUAL(std::string("heading"), std::string(v0.sVal));
CVar v1 = CSelectedOutput::Instance()->Get(1, 0);
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v1.type);
}
void
TestSelectedOutput::TestLongHeadings()
{
CSelectedOutput::Instance()->Clear();
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(0u, CSelectedOutput::Instance()->GetRowCount());
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->PushBackEmpty("heading890123456789012345678901234567890123456789"));
CPPUNIT_ASSERT_EQUAL(0, CSelectedOutput::Instance()->EndRow());
CPPUNIT_ASSERT_EQUAL(1u, CSelectedOutput::Instance()->GetColCount());
CPPUNIT_ASSERT_EQUAL(2u, CSelectedOutput::Instance()->GetRowCount());
CVar v0 = CSelectedOutput::Instance()->Get(0, 0);
CPPUNIT_ASSERT_EQUAL(TT_STRING, v0.type);
CPPUNIT_ASSERT_EQUAL(std::string("heading890123456789012345678901234567890123456789"), std::string(v0.sVal));
CVar v1 = CSelectedOutput::Instance()->Get(1, 0);
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v1.type);
}

60
unit/TestSelectedOutput.h Normal file
View File

@ -0,0 +1,60 @@
#if !defined(TESTSELECTEDOUTPUT_H_INCLUDED)
#define TESTSELECTEDOUTPUT_H_INCLUDED
#if defined(_DEBUG)
#pragma warning(disable : 4786) // disable truncation warning
#endif
#include "../src/SelectedOutput.hxx"
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/TestFixture.h>
class TestSelectedOutput :
public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE( TestSelectedOutput );
CPPUNIT_TEST( TestEmpty );
CPPUNIT_TEST( TestSinglePushBack );
CPPUNIT_TEST( TestMultiplePushBack );
CPPUNIT_TEST( TestNewHeadingsPushBack );
CPPUNIT_TEST( TestPushBackDouble );
CPPUNIT_TEST( TestPushBackLong );
CPPUNIT_TEST( TestPushBackString );
CPPUNIT_TEST( TestPushBackEmpty );
CPPUNIT_TEST( TestDuplicateHeadings );
CPPUNIT_TEST( TestEndRow );
CPPUNIT_TEST( TestEndRow2 );
CPPUNIT_TEST( TestTooManyHeadings );
CPPUNIT_TEST( TestNotEnoughHeadings );
CPPUNIT_TEST( TestInvalidRow );
CPPUNIT_TEST( TestInvalidCol );
CPPUNIT_TEST( TestGet );
CPPUNIT_TEST( TestLongHeadings );
CPPUNIT_TEST_SUITE_END();
public:
TestSelectedOutput(void);
~TestSelectedOutput(void);
public:
void TestEmpty();
void TestSinglePushBack();
void TestMultiplePushBack();
void TestNewHeadingsPushBack();
void TestPushBackDouble();
void TestPushBackLong();
void TestPushBackString();
void TestPushBackEmpty();
void TestDuplicateHeadings();
void TestEndRow();
void TestEndRow2();
void TestTooManyHeadings();
void TestNotEnoughHeadings();
void TestInvalidRow();
void TestInvalidCol();
void TestGet();
void TestLongHeadings();
};
#endif // TESTSELECTEDOUTPUT_H_INCLUDED

17
unit/TestVar.cpp Normal file
View File

@ -0,0 +1,17 @@
#include "TestVar.h"
TestVar::TestVar()
{
}
TestVar::~TestVar()
{
}
void TestVar::TestVarInit()
{
VAR v;
::VarInit(&v);
CPPUNIT_ASSERT_EQUAL(TT_EMPTY, v.type);
}

24
unit/TestVar.h Normal file
View File

@ -0,0 +1,24 @@
#if !defined(TESTVAR_H_INCLUDED)
#define TESTVAR_H_INCLUDED
#include "../include/Var.h"
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/TestFixture.h>
class TestVar :
public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE( TestVar );
CPPUNIT_TEST( TestVarInit );
CPPUNIT_TEST_SUITE_END();
public:
TestVar(void);
~TestVar(void);
public:
void TestVarInit();
};
#endif // TESTVAR_H_INCLUDED

11
unit/conv_fail.in Normal file
View File

@ -0,0 +1,11 @@
SOLUTION 1
pH 7
Na 1
PHASES
Fix_H+
H+ = H+
log_k 0
EQUILIBRIUM_PHASES
Fix_H+ -10 HCl 10
##SELECTED_OUTPUT
END

19220
unit/llnl.dat Normal file

File diff suppressed because it is too large Load Diff

1556
unit/missing_e.dat Normal file

File diff suppressed because it is too large Load Diff

1556
unit/phreeqc.dat Normal file

File diff suppressed because it is too large Load Diff

22
unit/unit.cpp Normal file
View File

@ -0,0 +1,22 @@
#include <cppunit/ui/text/TestRunner.h>
#include <cppunit/CompilerOutputter.h>
#include "TestVar.h"
#include "TestCVar.h"
#include "TestSelectedOutput.h"
#include "TestInterface.h"
int main(int argc, char **argv)
{
CppUnit::TextUi::TestRunner runner;
runner.addTest(TestVar::suite());
runner.addTest(TestCVar::suite());
runner.addTest(TestSelectedOutput::suite());
runner.addTest(TestInterface::suite());
runner.setOutputter(CppUnit::CompilerOutputter::defaultOutputter(&runner.result(), std::cout));
bool wasSucessful = runner.run("", false);
return wasSucessful;
}

405
unit/unit.dsp Normal file
View File

@ -0,0 +1,405 @@
# Microsoft Developer Studio Project File - Name="unit" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=unit - Win32 Profile
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "unit.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "unit.mak" CFG="unit - Win32 Profile"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "unit - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "unit - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE "unit - Win32 Profile" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
F90=df.exe
RSC=rc.exe
!IF "$(CFG)" == "unit - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE F90 /compile_only /nologo /warn:nofileopt
# ADD F90 /compile_only /nologo /warn:nofileopt
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "$(DEV_CPPUNIT_INC)" /D "SWIG_SHARED_OBJ" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 cppunit.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"$(DEV_CPPUNIT_LIB)"
# SUBTRACT LINK32 /profile
!ELSEIF "$(CFG)" == "unit - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE F90 /check:bounds /compile_only /debug:full /nologo /traceback /warn:argument_checking /warn:nofileopt
# ADD F90 /browser /check:bounds /compile_only /debug:full /nologo /traceback /warn:argument_checking /warn:nofileopt
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "$(DEV_CPPUNIT_INC)" /D "SWIG_SHARED_OBJ" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 cppunitd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Shlwapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"$(DEV_CPPUNIT_LIB)"
!ELSEIF "$(CFG)" == "unit - Win32 Profile"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Profile"
# PROP BASE Intermediate_Dir "Profile"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Profile"
# PROP Intermediate_Dir "Profile"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE F90 /check:bounds /compile_only /debug:full /nologo /traceback /warn:argument_checking /warn:nofileopt
# ADD F90 /check:bounds /compile_only /debug:full /nologo /traceback /warn:argument_checking /warn:nofileopt
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "$(DEV_CPPUNIT_INC)" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "$(DEV_CPPUNIT_INC)" /D "SWIG_SHARED_OBJ" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 cppunitd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"$(DEV_CPPUNIT_LIB)"
# ADD LINK32 cppunitd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /profile /debug /machine:I386 /libpath:"$(DEV_CPPUNIT_LIB)"
!ENDIF
# Begin Target
# Name "unit - Win32 Release"
# Name "unit - Win32 Debug"
# Name "unit - Win32 Profile"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;f90;for;f;fpp"
# Begin Group "src"
# PROP Default_Filter ""
# Begin Group "phreeqcpp"
# PROP Default_Filter ""
# Begin Group "phreeqc"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\advection.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\basic.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\basicsubs.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\cl1.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\cl1mp.c
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\cvdense.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\cvode.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\dense.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\dw.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\input.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\integrate.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\inverse.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\isotopes.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\kinetics.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\main.c
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\mainsubs.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\model.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\nvector.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\nvector_serial.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\output.c
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\p2clib.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\parse.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\phqalloc.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\phreeqc_files.c
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\pitzer.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\pitzer_structures.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\prep.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\print.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\read.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\readtr.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\smalldense.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\spread.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\step.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\structures.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\sundialsmath.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\tally.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\tidy.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\transport.c
# End Source File
# Begin Source File
SOURCE=..\src\phreeqcpp\phreeqc\utilities.c
# End Source File
# End Group
# End Group
# Begin Source File
SOURCE=..\src\fwrap.c
# End Source File
# Begin Source File
SOURCE=..\src\global.c
# End Source File
# Begin Source File
SOURCE=..\src\IPhreeqc.cxx
# End Source File
# Begin Source File
SOURCE=..\src\module_files.c
# End Source File
# Begin Source File
SOURCE=..\src\module_output.c
# End Source File
# Begin Source File
SOURCE=..\src\Phreeqc.cxx
# End Source File
# Begin Source File
SOURCE=..\src\SelectedOutput.cxx
# End Source File
# Begin Source File
SOURCE=..\src\Var.c
# End Source File
# End Group
# Begin Source File
SOURCE=.\TestCVar.cpp
# End Source File
# Begin Source File
SOURCE=.\TestInterface.cpp
# End Source File
# Begin Source File
SOURCE=.\TestSelectedOutput.cpp
# End Source File
# Begin Source File
SOURCE=.\TestVar.cpp
# End Source File
# Begin Source File
SOURCE=.\unit.cpp
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
# Begin Source File
SOURCE=..\src\CVar.hxx
# End Source File
# Begin Source File
SOURCE=..\src\ErrorReporter.hxx
# End Source File
# Begin Source File
SOURCE=..\include\IPhreeqc.h
# End Source File
# Begin Source File
SOURCE=..\src\OutputFiles.hxx
# End Source File
# Begin Source File
SOURCE=..\src\Phreeqc.hxx
# End Source File
# Begin Source File
SOURCE=..\src\PhreeqcParser.hxx
# End Source File
# Begin Source File
SOURCE=..\src\SelectedOutput.hxx
# End Source File
# Begin Source File
SOURCE=.\TestCVar.h
# End Source File
# Begin Source File
SOURCE=.\TestInterface.h
# End Source File
# Begin Source File
SOURCE=.\TestSelectedOutput.h
# End Source File
# Begin Source File
SOURCE=.\TestVar.h
# End Source File
# Begin Source File
SOURCE=..\include\Var.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

29
unit/unit.dsw Normal file
View File

@ -0,0 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "unit"=.\unit.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

2038
unit/unit.vcproj Normal file

File diff suppressed because it is too large Load Diff