#include <QStringList>
#include <vector>
-const QString REF_PATH = qgetenv( "HYDRO_REFERENCE_DATA" );
+extern QString REF_DATA_PATH;
bool test_HYDROData_ShapeFile::compare_two_files(const QString& File1, const QString& File2)
{
void test_HYDROData_ShapeFile::test_openDbf()
{
- QString aDBFPath = REF_PATH + "/cyprus_natural.dbf";
+ QString aDBFPath = REF_DATA_PATH + "/cyprus_natural.dbf";
HYDROData_ShapeFile aSHPFile;
bool Stat = aSHPFile.DBF_OpenDBF(aDBFPath);
CPPUNIT_ASSERT_EQUAL( true, Stat );
void test_HYDROData_ShapeFile::test_NbFieldsDbf()
{
- QString aDBFPath = REF_PATH + "/cyprus_natural.dbf";
+ QString aDBFPath = REF_DATA_PATH + "/cyprus_natural.dbf";
HYDROData_ShapeFile aSHPFile;
CPPUNIT_ASSERT_EQUAL(true, aSHPFile.DBF_OpenDBF(aDBFPath));
int NbF = aSHPFile.DBF_GetNbFields();
void test_HYDROData_ShapeFile::test_FieldListDbf()
{
- QString aDBFPath = REF_PATH + "/cyprus_natural.dbf";
+ QString aDBFPath = REF_DATA_PATH + "/cyprus_natural.dbf";
HYDROData_ShapeFile aSHPFile;
CPPUNIT_ASSERT_EQUAL(true, aSHPFile.DBF_OpenDBF(aDBFPath));
void test_HYDROData_ShapeFile::test_FieldTypeListDbf()
{
- QString aDBFPath = REF_PATH + "/cyprus_natural.dbf";
+ QString aDBFPath = REF_DATA_PATH + "/cyprus_natural.dbf";
HYDROData_ShapeFile aSHPFile;
CPPUNIT_ASSERT_EQUAL(true, aSHPFile.DBF_OpenDBF(aDBFPath));
void test_HYDROData_ShapeFile::test_NbRecordsDbf()
{
- QString aDBFPath = REF_PATH + "/cyprus_natural.dbf";
+ QString aDBFPath = REF_DATA_PATH + "/cyprus_natural.dbf";
HYDROData_ShapeFile aSHPFile;
CPPUNIT_ASSERT_EQUAL(true, aSHPFile.DBF_OpenDBF(aDBFPath));
int NbR = aSHPFile.DBF_GetNbRecords();
void test_HYDROData_ShapeFile::test_GetAttrListIndex()
{
{ //cyprus_natural
- QString aDBFPath = REF_PATH + "/cyprus_natural.dbf";
+ QString aDBFPath = REF_DATA_PATH + "/cyprus_natural.dbf";
HYDROData_ShapeFile aSHPFile;
CPPUNIT_ASSERT_EQUAL(true, aSHPFile.DBF_OpenDBF(aDBFPath));
std::vector<HYDROData_ShapeFile::DBF_AttrValue> theAttrV;
aSHPFile.DBF_CloseDBF();
}
{ //CLC06
- QString aDBFPath = REF_PATH + "/CLC06.dbf";
+ QString aDBFPath = REF_DATA_PATH + "/CLC06.dbf";
HYDROData_ShapeFile aSHPFile;
CPPUNIT_ASSERT_EQUAL (true, aSHPFile.DBF_OpenDBF(aDBFPath));
std::vector<HYDROData_ShapeFile::DBF_AttrValue> theAttrV;
{
{
HYDROData_ShapeFile aSHPFile;
- QString tempFN = REF_PATH + "/temp_dbf1.dbf";
- QString refFN = REF_PATH + "/ref_dbf1.dbf";
+ QString tempFN = REF_DATA_PATH + "/temp_dbf1.dbf";
+ QString refFN = REF_DATA_PATH + "/ref_dbf1.dbf";
std::vector<HYDROData_ShapeFile::DBF_AttrValue> theAttrV;
HYDROData_ShapeFile::DBF_AttrValue theAttr1;
theAttr1.myFieldType = HYDROData_ShapeFile::DBF_FieldType_String;
{
HYDROData_ShapeFile aSHPFile;
- QString tempFN = REF_PATH + "/temp_dbf2.dbf";
- QString refFN = REF_PATH + "/ref_dbf2.dbf";
+ QString tempFN = REF_DATA_PATH + "/temp_dbf2.dbf";
+ QString refFN = REF_DATA_PATH + "/ref_dbf2.dbf";
std::vector<HYDROData_ShapeFile::DBF_AttrValue> theAttrV;
HYDROData_ShapeFile::DBF_AttrValue theAttr1;
theAttr1.myFieldType = HYDROData_ShapeFile::DBF_FieldType_String;
CPPUNIT_ASSERT_EQUAL( 0, remove (tempFN.toStdString().c_str()));
}
+ {
+ HYDROData_ShapeFile aSHPFile;
+ QString tempFN = REF_DATA_PATH + "/temp_dbf3.dbf";
+ QString refFN = REF_DATA_PATH + "/ref_dbf3.dbf";
+ std::vector<HYDROData_ShapeFile::DBF_AttrValue> theAttrV;
+ HYDROData_ShapeFile::DBF_AttrValue theAttr1;
+ theAttr1.myFieldType = HYDROData_ShapeFile::DBF_FieldType_Integer;
+ theAttr1.myIsNull = false;
+
+ for (int ii = 0; ii < 100; ii++)
+ {
+ theAttr1.myIntVal = ii;
+ theAttrV.push_back(theAttr1);
+ }
+
+ //
+ CPPUNIT_ASSERT(aSHPFile.DBF_WriteFieldAndValues(tempFN, "test_field_name", HYDROData_ShapeFile::DBF_FieldType_Integer, theAttrV, false));
+
+ CPPUNIT_ASSERT(compare_two_files(tempFN, refFN));
+ CPPUNIT_ASSERT_EQUAL( 0, remove (tempFN.toStdString().c_str()));
+ }
+
}