Changeset 0829d60 in subsurface


Ignore:
Timestamp:
May 7, 2017, 6:32:11 AM (3 weeks ago)
Author:
Miika Turkia <miika.turkia@…>
Branches:
master
Children:
21cdc64
Parents:
c832973
Message:

Change test case to use new Seabear parsing function

Signed-off-by: Miika Turkia <miika.turkia@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/testparse.cpp

    rab1813a r0829d60  
    245245
    246246        for (int i = 0; i < files.size(); ++i) {
    247                 QString delta;
    248                 QStringList currColumns;
    249                 QStringList headers;
    250                 QString file = QString::fromLatin1(SUBSURFACE_TEST_DATA "/dives/").append(files.at(i));
    251                 QFile f(file);
    252 
    253                 /*
    254                  * Parse the sample interval if available from CSV
    255                  * header.
    256                  */
    257 
    258                 f.open(QFile::ReadOnly);
    259                 while ((firstLine = f.readLine().trimmed()).length() > 0 && !f.atEnd()) {
    260                         if (firstLine.contains("//Log interval: "))
    261                                 delta = firstLine.remove(QString::fromLatin1("//Log interval: ")).trimmed().remove(QString::fromLatin1(" s"));
    262                 }
    263                 firstLine = f.readLine().trimmed();
    264 
    265                 /*
    266                  * Parse the field configuration from the CSV header.
    267                  */
    268 
    269                 currColumns = firstLine.split(';');
    270                 Q_FOREACH (QString columnText, currColumns) {
    271                         if (columnText == "Time") {
    272                                 headers.append("Sample time");
    273                         } else if (columnText == "Depth") {
    274                                 headers.append("Sample depth");
    275                         } else if (columnText == "Temperature") {
    276                                 headers.append("Sample temperature");
    277                         } else if (columnText == "NDT") {
    278                                 headers.append("Sample NDL");
    279                         } else if (columnText == "TTS") {
    280                                 headers.append("Sample TTS");
    281                         } else if (columnText == "pO2_1") {
    282                                 headers.append("Sample sensor1 pO₂");
    283                         } else if (columnText == "pO2_2") {
    284                                 headers.append("Sample sensor2 pO₂");
    285                         } else if (columnText == "pO2_3") {
    286                                 headers.append("Sample sensor3 pO₂");
    287                         } else if (columnText == "Ceiling") {
    288                                 headers.append("Sample ceiling");
    289                         } else if (columnText == "Tank pressure") {
    290                                 headers.append("Sample pressure");
    291                         } else {
    292                                 // We do not know about this value
    293                                 qDebug() << "Seabear import found an un-handled field: " << columnText;
    294                                 headers.append("");
    295                         }
    296                         f.close();
    297                 }
    298 
    299                 /*
    300                  * Validate the parsing routine returns success.
    301                  */
    302 
    303                 char *params[42];
    304                 int pnr = 0;
    305 
    306                 params[pnr++] = strdup("timeField");
    307                 params[pnr++] = intdup(headers.indexOf(tr("Sample time")));
    308                 params[pnr++] = strdup("depthField");
    309                 params[pnr++] = intdup(headers.indexOf(tr("Sample depth")));
    310                 params[pnr++] = strdup("tempField");
    311                 params[pnr++] = intdup(headers.indexOf(tr("Sample temperature")));
    312                 params[pnr++] = strdup("po2Field");
    313                 params[pnr++] = intdup(headers.indexOf(tr("Sample pO₂")));
    314                 params[pnr++] = strdup("o2sensor1Field");
    315                 params[pnr++] = intdup(headers.indexOf(tr("Sample sensor1 pO₂")));
    316                 params[pnr++] = strdup("o2sensor2Field");
    317                 params[pnr++] = intdup(headers.indexOf(tr("Sample sensor2 pO₂")));
    318                 params[pnr++] = strdup("o2sensor3Field");
    319                 params[pnr++] = intdup(headers.indexOf(tr("Sample sensor3 pO₂")));
    320                 params[pnr++] = strdup("cnsField");
    321                 params[pnr++] = intdup(headers.indexOf(tr("Sample CNS")));
    322                 params[pnr++] = strdup("ndlField");
    323                 params[pnr++] = intdup(headers.indexOf(tr("Sample NDL")));
    324                 params[pnr++] = strdup("ttsField");
    325                 params[pnr++] = intdup(headers.indexOf(tr("Sample TTS")));
    326                 params[pnr++] = strdup("stopdepthField");
    327                 params[pnr++] = intdup(headers.indexOf(tr("Sample stopdepth")));
    328                 params[pnr++] = strdup("pressureField");
    329                 params[pnr++] = intdup(headers.indexOf(tr("Sample pressure")));
    330                 params[pnr++] = strdup("setpointField");
    331                 params[pnr++] = intdup(-1);
    332                 params[pnr++] = strdup("numberField");
    333                 params[pnr++] = intdup(-1);
    334                 params[pnr++] = strdup("separatorIndex");
    335                 params[pnr++] = intdup(2);
    336                 params[pnr++] = strdup("units");
    337                 params[pnr++] = intdup(0);
    338                 params[pnr++] = strdup("delta");
    339                 params[pnr++] = strdup(delta.toUtf8().data());
    340                 params[pnr++] = NULL;
    341 
    342                 QCOMPARE(parse_seabear_csv_file(file.toUtf8().data(),
    343                                         params, pnr - 1, "csv"), 0);
    344 
     247
     248                QCOMPARE(parse_seabear_log(QString::fromLatin1(SUBSURFACE_TEST_DATA
     249                        "/dives/").append(files.at(i)).toLatin1().data()), 0);
    345250                QCOMPARE(dive_table.nr, i + 1);
    346 
    347                 /*
    348                  * Set artificial but static dive times so the result
    349                  * can be compared to saved one.
    350                  */
    351 
    352                 if (dive_table.nr > 0) {
    353                         dive = dive_table.dives[dive_table.nr - 1];
    354                         dive->when = 1255152761 + 7200 * i;
    355                         dive->dc.when = 1255152761 + 7200 * i;
    356                 }
    357251        }
    358252
Note: See TracChangeset for help on using the changeset viewer.